@TianCheng
2016-04-29 01:29
采纳率: 92.9%
浏览 1.2k
已采纳

关于安卓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();
}
想不明白该怎么解决,求大神帮助!谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 足球中国 2016-04-29 04:52
    已采纳

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

    点赞 打赏 评论
  • 小僧愛美麗 2016-04-29 01:30

    asdasdasdasdfafafcdxzcvfdstgregdfsvdfsetgredfgvgregerdfsgvfvf

    点赞 打赏 评论
  • GrayHJX 2016-04-29 02:25

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

    点赞 打赏 评论
  • 大白大白大白 2016-04-29 07:03

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

    点赞 打赏 评论
  • 恋恋西风 2016-04-29 22:56

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

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

    点赞 打赏 评论
  • XXKUAIKUAI 2016-05-02 06:32

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

    点赞 打赏 评论

相关推荐