当前位置: 代码迷 >> Android >> 小弟我的Android进阶之旅->Android的ListView数据更新后,怎么使最新的条目可以自动滚动到可视范围内
  详细解决方案

小弟我的Android进阶之旅->Android的ListView数据更新后,怎么使最新的条目可以自动滚动到可视范围内

热度:91   发布时间:2016-04-27 23:32:39.0
我的Android进阶之旅------>Android的ListView数据更新后,如何使最新的条目可以自动滚动到可视范围内?

在ListView的layout配置中添加 android:transcriptMode="alwaysScroll"

    <ListView        android:id="@+id/listView"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:transcriptMode="alwaysScroll"    </ListView>

或者在Java代码中执行

mListView = (ListView) view.findViewById(R.id.listview);		mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);


 

当数据改变的时候,在回调函数中使用ListView.setSelection()方法来定位到最后一行

ChatAdapter adapter = new ChatAdapter(this);ListView lv = (ListView) findViewById(R.id.chatList);lv.setTranscriptMode(AbsListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);lv.setAdapter(adapter);adapter.registerDataSetObserver(new DataSetObserver() {    @Override    public void onChanged() {        super.onChanged();        lv.setSelection(adapter.getCount() - 1);        }});


 PS:http://stackoverflow.com/questions/3606530/listview-scroll-to-the-end-of-the-list-after-updating-the-list

 


 


        ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

 

版权声明:本文为欧阳鹏原创文章,欢迎转载,转载请注明出处http://blog.csdn.net/ouyang_peng

  相关解决方案