android关于listview更新数据后如何保持位置不变 用setSelection只能定位前十条,因为一更新数据最先显示前十条,而后面的在滑动过程中重绘,请问如何保证在任意行数下更新数据位置能不变。由于分数不足,希望大家谅解,请求保证帮帮忙。谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 listview.post(new Runnable() { @Override public void run() { mAdapter.addData(messages);//addData()内部调用notifyDataSetChanged()更新数据 listview.smoothScrollToPosition(yourPosition); }});可以吗? 如果你用的是Recycleview的话,取到当前位置的position,刷新当前item。就可以了。 记录: mList.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { mListFocus = mList.getFirstVisiblePosition(); View item = mList.getChildAt(0); firstVisiblePositionTop = (item == null) ? 0 : item.getTop(); } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } });设置:mList.setSelectionFromTop(mListFocus, firstVisiblePositionTop); 求MQTT推送的解决方案 android选项菜单 求助一个很菜鸟的问题 onTouchEvent闪屏 短信接收和短信发送截取很难吗? 导入外部jar包后报错 编译模拟器时提示Conversion to Dalvik format failed with error 1 3G网络下的socket通信 SharedPreferences sqlite 相对而言哪个速度快??? AlertDialog样式 安卓应用横竖屏切换的问题 Unable to instantiate application请大神帮忙 Android app如何通过内部链接打开天猫的商品详情页面
public void run() {
mAdapter.addData(messages);//addData()内部调用notifyDataSetChanged()更新数据
listview.smoothScrollToPosition(yourPosition);
}
});可以吗?
mList.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
mListFocus = mList.getFirstVisiblePosition();
View item = mList.getChildAt(0);
firstVisiblePositionTop = (item == null) ? 0 : item.getTop();
} } @Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { }
});
设置:
mList.setSelectionFromTop(mListFocus, firstVisiblePositionTop);