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