首页 文章

Listview在更新列表后滚动到列表的末尾

提问于
浏览
272

在使用listAdapter更新listview之后,我想确保列表一直滚动到底部,以便显示列表中输入的最后一个元素 . 我怎样才能做到这一点 ?

我试过这个但没有运气:

lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);

谢谢

8 回答

  • 4

    使用:将列表的头部设置为底部 lv.setStackFromBottom(true);

    为我工作,当列表首次进入可见性时,列表会自动滚动到底部 . 然后列表按__000048_滚动 .

  • 399

    TRANSCRIPT_MODE_ALWAYS_SCROLL和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);    
        }
    });
    
  • 10

    假设您知道列表数据何时发生更改,您可以通过将列表选择设置为最后一行来手动指示列表滚动到底部 . 就像是:

    private void scrollMyListViewToBottom() {
        myListView.post(new Runnable() {
            @Override
            public void run() {
                // Select the last row so it will scroll into view...
                myListView.setSelection(myListAdapter.getCount() - 1);
            }
        });
    }
    
  • 7

    您需要在列表视图中使用这些参数:

    • 滚动 lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);

    • 将列表的头部设置为底部 lv.setStackFromBottom(true);

    您也可以在XML中设置这些参数,例如 . 像这样:

    <ListView
       ...
       android:transcriptMode="alwaysScroll"
       android:stackFromBottom="true" />
    
  • 9

    要在ListFragment中获取此信息:

    getListView().setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 
    getListView().setStackFromBottom(true);`
    

    添加了这个答案,因为如果有人在谷歌搜索与ListFragment相同的问题,他只是发现这个..

    问候

  • 230

    成绩单模式是您想要的,并由Google Talk和SMS / MMS应用程序使用 . 在添加项目时,是否正确调用适配器上的notifyDatasetChanged()?

  • 24

    我用

    setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);
    

    在底部添加条目,较旧的条目在顶部滚动,就像聊天记录一样

  • 36

    我已经成功使用它来响应按钮点击,所以我猜你也可以在更新你的内容后使用它:

    myListView.smoothScrollToPosition(theListAdapter.getCount() -1);
    

相关问题