在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);
- }
- });
====================================================================================
作者:歐陽鵬 歡迎轉載,與人分享是進步的源泉!
轉載請保留原文地址:http://blog.csdn.net/ouyang_peng
====================================================================================