android listview怎么更新数据

android listview怎么更新数据,第1张

0、本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged()方法使得listview界面自动更新。

*** 作:

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 = 1

2、当你要更新表的时候就把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监听数据的变化,然后访问数据库,重新加载数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9914481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存