2 cairunbo cairunbo 于 2016.04.29 09:29 提问

关于安卓SQLite的问题

大神,小弟学习安卓数据库时遇到了一些问题,求大神帮助!
图片说明
我是想要在一个Fragment页面里动态加载ListView,写了一个自定义的Adapter
在 onActivityCreated里面写了
adapter=new FragmentRecordAdapter(this,start, end);
listView_data.setAdapter(adapter);
在Adapter里面写了
public class FragmentRecordAdapter extends BaseAdapter {
AddDAO2 adao;
FragmentRecord f;
Cursor cursor;
public FragmentRecordAdapter(FragmentRecord fragmentRecord, String start,String end) {
// TODO Auto-generated constructor stub
this.f=fragmentRecord;
adao = new AddDAO2(f);
cursor = adao.queryAllDetail(start, end);
}

@Override
public int getCount() {
return cursor.getCount();
}

@Override
public Object getItem(int position) {
return null;
}

@Override
public long getItemId(int position) {
return 0;
}

@SuppressLint("InflateParams")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = null;
if (convertView != null) {
view = convertView;//复用了回收的view 只需要直接作内容填充的修改就好了
} else {
view = LayoutInflater.from(null).inflate(R.layout.f_record_detail_lv_item_2, null);
//没有供复用的view 按一般的做法新建view
TextView tv01 = (TextView) view.findViewById(R.id.tv01);
TextView tv02 = (TextView) view.findViewById(R.id.tv02);
TextView tv03 = (TextView) view.findViewById(R.id.tv03);
TextView tv04 = (TextView) view.findViewById(R.id.tv04);
cursor.moveToPosition(position);
tv01.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.SportType)));
tv02.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.FitnessPart)));
tv03.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.FitnessContent)));
tv04.setText(cursor.getString(cursor.getColumnIndex(ActionConstants.record.Time)));
}
return view;
}
}
在AddDAO2里面:
public class AddDAO2 {
SQLiteDatabase db;
public AddDAO2(FragmentRecord f) {
// TODO Auto-generated constructor stub
db = new ActionDataHelper(null, f).getWritableDatabase();
}
想不明白该怎么解决,求大神帮助!谢谢

7个回答

zanfeng
zanfeng   2016.04.29 12:52
已采纳

指针为空。表示哪个没有。或者数据库创建不成功。或者没有表。或者没有相应字段,或者没有相应的值。其他的应该没了

u011895209
u011895209   2016.04.29 09:30

asdasdasdasdfafafcdxzcvfdstgregdfsvdfsetgredfgvgregerdfsgvfvf

qq_28026283
qq_28026283   2016.04.29 15:03

db = new ActionDataHelper(null, f).getWritableDatabase(); 要传上下文对象的

CSDNXIAON
CSDNXIAON   2016.04.29 09:32

安卓Sqlite
安卓sqlite数据库中sql语句的问题
android安卓sqlite数据库 多线程并发 locked问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

donggua3694857
donggua3694857   Rxr 2016.04.29 10:25

new ActionDataHelper的时候没有给他上下文对象吧context。我记得好像要那个玩意的

q610098308
q610098308   2016.04.30 06:56

db = new ActionDataHelper(null, f).getWritableDatabase();

这里不能传空,必须要传 一个Context;

cairunbo
cairunbo 朋友,该怎么修改?能否提点一下?
一年多之前 回复
XXKUAIKUAI
XXKUAIKUAI   2016.05.02 14:32

View view = null;这里有错,应该是View view = convertView;然后再if(view != null)

Csdn user default icon
上传中...
上传图片
插入图片