android刷新listview
A. android 怎樣在fragment中給listview添加下拉刷新上拉載入
注意事項:
1、XListView因為添加了Header,會導致存儲的數據+1,所以賦值時需要position-1。補充:當去掉HeaderView時,position不用-1。
2、提個建議:上拉載入更多,最好在onCreate()中就執行setAdapter,然後不論是空數據、還是有數據,只用更新適配器就行了。
一、XListView
1、下載
gitHub的地址。或者從這兒下。
2、用法
導入圖中的me.maxwin.view包
提供了兩個介面:
IXListViewListener:觸發下拉刷新,上拉載入更多。實現此介面時,onLoadMore()用來上拉載入更多,onRefresh()用來下拉刷新。
B. android開發中appwidget 中的listView的數據怎麼刷新
listView加猛虧念載的數據枝困是放在ArrayList中的吧,只需要改變ArrayList中對應的空芹數據,然後刷新Adapter,adapter.notifyDataSetChanged();
C. listview 列表刷新後不回到頂部,而是停留在當前位置,android版怎麼弄
設置裡面打開發現,置頂就可以了。
D. android Listview,gridview局部刷新,只刷新其中一個item內的數據,部分刷新怎麼刷新。
bas.notifyDataSetChanged(),bas是適配器。只要你數據變了 ,再調用這個方法就OK
E. android listview不能刷新 adapter.notifyDataSetChanged()和setListAdapter(myAdapter)都不好用
你沒有往你的Adapter里添加數據。如果你要調用Adapter.notifyDatasetChanged()這個方法,你只能王Adapter裡面的List添加數據,而不能每次都給一個新的List對象,否則也無法刷新數據。
F. android資料庫更新後怎樣刷新listview數據
重寫onStart(),在裡面加上getData()即可,也就是每次進入這個頁面就刷新數據
G. 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、其他。
以上僅供參考,建議多搜索相關文檔。
H. android ListView刷新焦點問題
這個問題沒有試過,不過我想說一下我的思路,你看是否可行:
你可以在窗體中放置一個隱藏的控制項,然後寫一個委託事件,每當listview焦點改變後,就將該焦點所在的行的ID作為那個隱藏控制項的值,每次刷新的時候檢查該值,讓焦點停留到LIstView中的該行就可以了!
I. android ListView 做下拉刷新 下拉跳到第一項怎麼解決
listView.setonRefreshListener(new OnRefreshListener() { @Override public void onRefresh() { Log.e(TAG, "---下拉刷新---"); new AsyncTask() { protected Void doInBackground(Void... params) { try { mylineslistlist.clear(); mylinesorderlist.clear(); list.clear(); getMylines(0); } catch (Exception e) { e.printStackTrace(); } return null; } protected void onPostExecute(Void result) { adapter.notifyDataSetChanged(); listView.onRefreshComplete(); } }.execute(); } }); listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(final AbsListView view, int scrollState) { listView.onScrollStateChanged(view, scrollState); // 數據為空--不用繼續下面代碼了 if (list.size() == 0) return; // 判斷是否滾動到底部 boolean scrollEnd = false; try { if (view.getPositionForView(loadingLayout) == view .getLastVisiblePosition()) scrollEnd = true; } catch (Exception e) { scrollEnd = false; } if (scrollEnd) { // 如果是自動載入,可以在這里放置非同步加慎賀載數租緩據的代碼寬型派 Log.e("LOADMORE", "loading..."); if (currentPage < pageNum) { // Log.e(TAG, "---currentPage is " + currentPage); currentPage++; // Log.e(TAG, "---currentPage is " + currentPage); handler.postDelayed(new Runnable() { @Override public void run() { // Log.d(TAG, "---loadData page is" + // currentPage); getMylines(currentPage); // listView.setSelection(view