我正在尝试聊天,当我检查新消息时,列表视图会选择第一个项目。
我该如何解决这个问题?我一直在寻找Stack Overflow和其他论坛的另一个问题,但没有成功.. 例如:Maintain scroll position when adding to ListView with reverse endless-scrolling 目前我的代码是这样的:
int oldCount = lv.getAdapter().getCount();
View view = lv.getChildAt(0);
int pos = (view == null ? 0 : view.getBottom());
lv.setAdapter(adapter);
System.out.println("De length: " + de.length);
System.out.println(firstVisibleItem + "/" + oldCount);
for (String DE : de) {
if (DE != null) {
ConversaClass obj = new ConversaClass(msg[i], username, de[i], para[i]);
adapter.add(obj);
i++;
}
}
//adapter.notifyDataSetChanged();
lv.setSelectionFromTop(firstVisibleItem + lv.getAdapter().getCount() - oldCount +1 , pos);
如果此代码不够,请随时提出更多要求。 谢谢!
答案 0 :(得分:0)
您必须将transcriptMode设置为normal
,如下所示:
<ListView
android:id="@+id/list_messages"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:transcriptMode="normal"
android:stackFromBottom="true">
</ListView>