2 qq 28150513 qq_28150513 于 2016.04.25 17:22 提问

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个回答

erichk2008
erichk2008   2016.04.25 17:45

database = NarrateAct.dataBaseHelper.getWritableDatabase();

需要看一下NarrateAct的代码,dataBaseHelper这个变量是不是没有初始化,或者是DataBaseHelper这个类里面的建表语句有问题?

另外,MyDataBaseHelper和DataBaseHelper的关系是?

qq_28150513
qq_28150513   2016.04.28 18:39

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PLSQL安装后Database下拉框为空
PLSQL安装后可能出现Database下拉框为空的现象。 如图所示Datebase为空
Windows 64位下装Oracle 11g 64位,PLSQL(Database为空)
PLSQL Developer并不支持Oracle 64位客户端连接。 1:Database为空           2:首先下载 instantclient_11_2(百度一 到处都是)      下载地址:http://pan.baidu.com/s/1eQwLNIa 3:解压 instantclient_11_2  放到任意盘符中 4:打开pl
PLSQL无法连接64位Oracle数据库/Database下拉框为空的解决方法
转载自:plsql无法连接64位oracle数据库的解决方法(图文解说) 今儿个重装了个系统,win7x64。 接着装了个64位的oracle11g:oracle11g下载页面。 找到适合自己系统的数据库,需要将file1和file2都下载下来,一起解压,否则安装不了。 接着用免安装的plsql连接数据库试了试,发现没有连接的权限可选,如图: 直接输入用户名、密码和数据库名,提示
plsql,为什么plsql的database下拉为空??要设置TNS_ADMIN环境变量
为什么plsql的database下拉为空?本该有我在tnsnames.ora中设置的字符串ORCL,如下所示: # tnsnames.ora Network Configuration File: F:\app\user\product\11.2.0\dbhome_1\network\admin\tnsnames.ora # Generated by Oracle configuration
plsql 选择database时下拉框空白
1、下载instantclient_11_2 2、解压instantclient_11_2,放到任意位置 3、配置PLSQL"工具-->首选项",具体配置的地方如图
易语言钓鱼源码
求大神买走 求大神买走 易语言钓鱼源码
plsql 安装后database下拉没有东西
今天第一天上班我自己也有点紧张,但是问题还是有的;今天来说一下问题,就是装了plsql竟然在database这一栏没有东西,我也是纠结了很久,感觉今天的任务也被拉下了。其实这个问题在我以前装的时候也没有注意,因为我用的系统都是windows8.1,今天又了公司这个windows7 64位。其实这个问题还是要有耐心才能解决的。plsql其实是不支持oralce 64位的,所以要在oracle官网下一个
左菜单侧滑
侧滑的一个例子 求大神解决下2次选中侧滑标签列表失焦问题
PLSQL客户端下拉空白
安装PLSQL登录的时候 database下拉选项里没有东西可选 。出现这个情况的原因可能是你oracle没有配置环境变量  TNS_ADMIN D:\oracle\product\10.2.0\db_1\network\ADMIN 这个是我自己的的环境配置具体看自己oracle安装位置
plsql在安装有10g数据库及以上版本的环境上运行时database项为空的问题解决
原因具体如下及分析解决: 1.数据库安装报错。导致数据库不正常,plsql也无法去获取连接数据库的dll(bin\oci.dll即使此文件存在但未正确安装一样不能应用) 2.数据库中安装了多个版本或者多个客户端版本,或者多个客户端和数据库库服务端版本。导致plsql中虽然配置了如下正确的设置但是依旧database为空 这个是因为你指定的oracle——home中为设置数据库别名,具体搜索创