代码之家  ›  专栏  ›  技术社区  ›  jramirez

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

  •  279
  • jramirez  · 技术社区  · 15 年前

    我试过了,但没有成功:

    lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
    

    9 回复  |  直到 12 年前
        1
  •  426
  •   sulai    13 年前

    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);
            }
        });
    }
    
        2
  •  239
  •   Jonas Czech luksch    11 年前

    • lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);

    • 把名单的头放在最下面 lv.setStackFromBottom(true);

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

    <ListView
       ...
       android:transcriptMode="alwaysScroll"
       android:stackFromBottom="true" />
    
        3
  •  37
  •   Wärting    14 年前

    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);    
        }
    });
    
        4
  •  30
  •   Mason Lee    10 年前

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

    myListView.smoothScrollToPosition(theListAdapter.getCount() -1);
    
        5
  •  12
  •   Klatschen    10 年前

    要在ListFragment中获取此内容:

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

    添加这个答案是因为如果有人在谷歌上搜索ListFragment的同一个问题,他就会发现这个。。

    当做

        6
  •  9
  •   Pratik Butani Umesh N    12 年前

    使用: 把名单的头放在最下面 lv.setStackFromBottom(true);

    TRANSCRIPT_MODE_ALWAYS_SCROLL .

        7
  •  5
  •   Plugie    11 年前

    我用

    setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);
    

    在底部添加条目,较旧的条目从顶部滚动,如聊天记录

        8
  •  4
  •   ucMedia    7 年前

        listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
        listView.setStackFromBottom(true);
    
        9
  •  3
  •   Romain Guy    15 年前

    抄本模式是您想要的,由googletalk和SMS/MMS应用程序使用。添加项时是否正确调用适配器上的notifyDatasetChanged()?

    推荐文章