① android中Adapter刷新數據問題
首先如果數據搭滑從資料庫得到,建議Adapter繼承CursorAdapter,另外不應該每次知敗臘返回都進行刷新,應該有數據的改變再進行刷新,利用ContentProvider監聽數據的枯亮變化,然後訪問資料庫,重新載入數據。
② android往資料庫添加數據後刷新列表,新數據無法顯示
我通常的做法是,自己寫adapter繼神羨承於BaseAdapter,然後加一個setData的公開方法。
在activity中可以開啟一個線游螞拍程去取數據,取完數據調用handler對listView進行載入物鎮或刷新。
如果是載入就new
MyAdapter,listView.setAdapter
如果是刷新就adapter.setData(),
adapter.notifyDataSetChanged().
有不懂再問。
③ android listview怎麼更新數據
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、其他。
以上僅供參考,建議多搜索相關文檔。
④ 在android開發中listView組件無法刷新
使用自坦遲如定義adapter,繼承自baseAdapter,就可以傳入自定義的數據結構數據,這樣你修改了數據旦則列表(增/讓啟刪/改)後,可以通知adapter告知數據已經發生了變化,從而使得listview顯示的數據發生變化。
⑤ android viewpager 數據如何刷新 呢
ViewPager的數據是通過PageAdapter來裝載的,刷新數據的方法有以下:
調用adapter.notifyDataSetChanged(); 刷新控制項,但是要覆蓋PagerAdapter的getItemPosition方法,並返回return POSITION_NONE;
利用PagerAdapter的工作機制,就是PagerAdapter的執行順序,PagerAdapter作為ViewPager的適配器,無論ViewPager有多少頁,PagerAdapter在初始化時也只初始化開始的2個View,即調用2次instantiateItem方法。而接下來每當ViewPager滑動時,PagerAdapter都會調用destroyItem方法將距離該頁2個步幅以上的那個View銷毀,以此保證PagerAdapter最多隻管轄3個View,且當前View是3個中的中間一個,如果當前View缺少兩邊的View,那麼就instantiateItem,如里有超過2個步幅的就destroyItem。
每當Adapter調用instantiateItem時,運用View.setTag方法將該View標識。當需要更新這個View的數據時,通過調用ViewPager.findViewWithTag方法找到相應的View,然後更新View中的數據。
⑥ Android 資料庫如何更新
1、設置一個DB_VERSION
java">publicstaticfinalintDB_VERSION=1;
2、當你要更新表的時候就把DB_VERSION+1,就會觸發onUpgrade,資料庫就更新了,記得採納
publicDBHelper(){
//fortest
Config=newDbManager.DaoConfig()
.setDbName(DB_NAME)
.setDbVersion(DB_VERSION)
.setDbDir(Environment.getExternalStorageDirectory())
.setDbOpenListener(newDbManager.DbOpenListener(){
@Override
publicvoidonDbOpened(DbManagerdb){
db.getDatabase().enableWriteAheadLogging();
}
})
.setDbUpgradeListener(newDbManager.DbUpgradeListener(){
@Override
publicvoidonUpgrade(DbManagerdb,intoldVersion,intnewVersion){
updateTable(db,xx.class);
}
});
}
⑦ android listview不能刷新 adapter.notifyDataSetChanged()和setListAdapter(myAdapter)都不好用
你沒有往你的Adapter里添加數據。如果你要調用Adapter.notifyDatasetChanged()這個方高游法,你只能王Adapter裡面指念雹的List添加數據,而不能每唯帆次都給一個新的List對象,否則也無法刷新數據。
⑧ Android-如何更好的刷新RecyclerView
首先刷新RecyclerView會使仿叢團用Adapter,數據源採用List,那麼我們怎樣去刷新RecyclerView更合適?看看備橘下面鄭謹的方法,或許能適用於你。
⑨ android資料庫更新後怎樣刷新listview數據
重寫onStart(),在裡面加上getData()即可,也就是每次進入這個頁面就刷新數據