Yearning01 2016-04-25 09:22 采纳率: 100%
浏览 1253
已结题

database为空 求大神解决下呗

package com.wlh.app.notepad.adapter;

import java.util.ArrayList;

import com.wlh.app.notepad.modle.NotepdaBean;
import com.wlh.app.notepad.util.db.MyDataBaseHelper;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.wlh.app.notepad.act.NarrateAct;
import com.wlh.app.notepad.act.R;

public class ListToItemAdapter extends BaseAdapter{

private NotepdaBean bean;

private ArrayList<NotepdaBean> arrayList = new ArrayList<NotepdaBean>();
public static SQLiteDatabase database;

private LayoutInflater mInflater;

private float downX;
private float upX;
private TextView mListjmp;
private Animation animation;

private Context context;
private View view;

public ListToItemAdapter(Context context){

    mInflater = LayoutInflater.from(context);
    this.context = context;
    animation=AnimationUtils.loadAnimation(context, R.anim.push_out);

}

public void addDataSource(ArrayList<NotepdaBean> arrayList){

    this.arrayList = arrayList;
    notifyDataSetChanged();

}

public void insertDataSource(NotepdaBean bean){

    arrayList.add(bean);
    notifyDataSetChanged();

}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return arrayList.size() > 0 ? arrayList.size() : 0;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return arrayList.size() > 0 ? arrayList.get(position) : "";
}

@Override
public long getItemId(int id) {
    // TODO Auto-generated method stub
    return id;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    ViewHolder holder = null;

    if (convertView == null) {

        convertView = mInflater.inflate(R.layout.activity_list, parent, false);

        holder = new ViewHolder();
        holder.mListImg = (ImageView) convertView.findViewById(R.id.list_img_title);
        holder.mListTitle = (TextView) convertView.findViewById(R.id.list_tv_title);
        holder.mListContent = (TextView) convertView.findViewById(R.id.list_tv_content);
        holder.mListData = (TextView) convertView.findViewById(R.id.list_tv_data);
        holder.mListjmp = (TextView) convertView.findViewById(R.id.list_tv_jmp);

        convertView.setTag(holder);

    }else{

        holder = (ViewHolder) convertView.getTag();

    }

    convertView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            final ViewHolder holder = (ViewHolder) v.getTag();

            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:

                downX = event.getX();
                if (mListjmp != null) {   
                    mListjmp.setVisibility(View.GONE);
                }

                break;

            case MotionEvent.ACTION_UP:
                upX = event.getX();
                break;

            }

            if (holder.mListjmp != null) {
                if (Math.abs(downX - upX) > 35) {
                    holder.mListjmp.setVisibility(View.VISIBLE);
                    mListjmp = holder.mListjmp;
                    view=v;
                    return true;
                }
                return false;
            }
            return false;
        }
    });

    holder.mListjmp.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if (mListjmp != null) {
                mListjmp.setVisibility(View.GONE);
                database = NarrateAct.dataBaseHelper.getWritableDatabase();
                String deletesql = "DELETE FROM "+MyDataBaseHelper.NOTEPAD_TABLE_NAME+" WHERE "+MyDataBaseHelper.NOTEPAD_ID +"= '?'";
                Log.i("my", deletesql);
                database.execSQL(deletesql, new String[]{bean.getID()+""});
                deleteItem(view, position);
            }

        }
    });

    bean = (NotepdaBean) getItem(position);

    holder.mListImg.setBackgroundResource(bean.getImg());
    holder.mListTitle.setText(bean.getTitlie());
    holder.mListContent.setText(bean.getContent());
    holder.mListData.setText(bean.getDate());
    holder.mListjmp.setVisibility(View.GONE);
    holder.mListjmp.setBackgroundResource(R.drawable.ic_list_delete);

    return convertView;
}

public void deleteItem(View view,final int position){

    view.startAnimation(animation);

    animation.setAnimationListener(new AnimationListener() {

        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {

            arrayList.remove(position);
            notifyDataSetChanged(); 

        }
    });

}

static class ViewHolder{

    ImageView mListImg;
    TextView mListTitle;
    TextView mListContent;
    TextView mListData;
    TextView mListjmp;

}

}

  • 写回答

2条回答 默认 最新

  • Yearning01 2016-04-28 10:39
    关注

    谢谢了 已经解决了 MyDataBaseHelper就是SQLite的辅助类

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月11日

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 如何用visual studio code实现html页面
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?