刚接触android,现在有一个关于用SimpleCursorAdapter来对listview进行数据绑定的问题。
在onCreate函数里面有{
mydatabase = new MyDataBase(this);
mydatabase.open();
}
一个buttonlistener
buttonsearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
UpdataAdapter();
}
});
数据查询与绑定
public void UpdataAdapter(){
Cursor cur = mydatabase.searchAll();
while(cur.moveToNext()){
Log.d("NAME____DDD",cur.getString(cur.getColumnIndex(MyDataBase.KEY_NAME)));
Log.d("NUM____DDD",cur.getString(cur.getColumnIndex(MyDataBase.KEY_NUM)));
}
if(cur !=null && cur.getCount() >0){
ListAdapter adapter = new SimpleCursorAdapter(this,R.layout.listview,cur, new String[]{MyDataBase.KEY_NUM,MyDataBase.KEY_NAME,MyDataBase.KEY_ID},
new int[]{R.id.num1,R.id.name1,R.id.hid});
lv.setAdapter(adapter);
}
// if(!cur.isClosed()){ ---------①
// cur.close();
// }
}
如果①的语句注释掉,listview会有数据显示。一切正常。
现在问题是如果把①后的三行语句没有注释掉,listview就不会有数据显示出来,但上面的log里面是有数据输出的。
求大神告诉我为什么啊。。
在onCreate函数里面有{
mydatabase = new MyDataBase(this);
mydatabase.open();
}
一个buttonlistener
buttonsearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
UpdataAdapter();
}
});
数据查询与绑定
public void UpdataAdapter(){
Cursor cur = mydatabase.searchAll();
while(cur.moveToNext()){
Log.d("NAME____DDD",cur.getString(cur.getColumnIndex(MyDataBase.KEY_NAME)));
Log.d("NUM____DDD",cur.getString(cur.getColumnIndex(MyDataBase.KEY_NUM)));
}
if(cur !=null && cur.getCount() >0){
ListAdapter adapter = new SimpleCursorAdapter(this,R.layout.listview,cur, new String[]{MyDataBase.KEY_NUM,MyDataBase.KEY_NAME,MyDataBase.KEY_ID},
new int[]{R.id.num1,R.id.name1,R.id.hid});
lv.setAdapter(adapter);
}
// if(!cur.isClosed()){ ---------①
// cur.close();
// }
}
如果①的语句注释掉,listview会有数据显示。一切正常。
现在问题是如果把①后的三行语句没有注释掉,listview就不会有数据显示出来,但上面的log里面是有数据输出的。
求大神告诉我为什么啊。。
解决方案 »
- 请教关于S5pv210 android HDMI 显示界面不完整问题
- 帮我看看我的wifi连接代码那里出错了,急!!!!!!!!
- 内存溢出outofmemery,用ViewPager出现内存溢出,求解答
- PopupWindow点击外部区域消失
- 新人求助:关于listview 使用SimpleCursorAdapter问题
- android的内存缓存问题
- android手机系统存储,如何得到SD卡和内部存储的文件分类容量?
- 求教Android开发中HttpURLConnection的网络连接问题
- 求个大佬
- webview里面可以调起支付宝,但无法调起微信支付
- 在avd中运行的程序,可以调用本机的硬件吗
- webservice解决不了的错误
这个cursor在界面onCreate时候构建,那么我只要关注界面销毁时候是不是关闭就行了。其他用的时候不必关闭,否则要重建。
另外,像cursorAdapter这样传进来了cursor它有自己的生命周期,有adapter去回收,我们放心用就好了啊。
是这样啊。。主要现在就是在我连续点查询那个按钮的时候log里面会包cursor没有关闭这个错。所以就想看看能不能在每次查询之后把他给关掉。