*** 作:
1、List<String>strName = new ArrayList<String>()//实际的数据源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName)//适配器,其中 R.layout.xmlforitem是列表中每一项的布局,可以用默认的也可自建,strName则是将数据源绑定到适配器
3、listView.setAdapter(adapter)//将适配器绑定到列表显示控件ListView;
4、strName.add("TEST ONE")//增加一项,引起list变化,Adapter也随之变化;
5、adapter.notifyDataSetChanged()//调用notifyDataSetChanged()更新适配器,ListView会自动刷新,notifyDataSetChanged()方法可能需要在UI线程中调用,建议自行测试;
6、数据增加可能引起内存变化,需防内存溢出;
7、其他。
以上仅供参考,建议多搜索相关文档。
1、设置一个DB_VERSION
public static final int DB_VERSION = 12、当你要更新表的时候就把DB_VERSION+1,就会触发onUpgrade,数据库就更新了,记得采纳
public DBHelper() {// for test
daoConfig = new DbManager.DaoConfig()
.setDbName(DB_NAME)
.setDbVersion(DB_VERSION)
.setDbDir(Environment.getExternalStorageDirectory())
.setDbOpenListener(new DbManager.DbOpenListener() {
@Override
public void onDbOpened(DbManager db) {
db.getDatabase().enableWriteAheadLogging()
}
})
.setDbUpgradeListener(new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
updateTable(db, xx.class)
}
})
}
首先如果数据从数据库得到,建议Adapter继承CursorAdapter,另外不应该每次返回都进行刷新,应该有数据的改变再进行刷新,利用ContentProvider监听数据的变化,然后访问数据库,重新加载数据。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)