我有聊天列表视图,并在其下面发送消息编辑文本。发送消息后,我将其添加到listView,然后刷新适配器。不幸的是,当我这样做时,即使我设置了listView.setSelected(adapter.getcount()),列表也不会向上滚动。经过调查,我发现listview没有得到关注。所以我先将焦点设置为lstMessages.requestFocus();
然后lstMessages.setSelection(adapter.getCount());
,然后将焦点重新设置为edittext。现在的问题是,当焦点丢失时,edittext上方的建议栏消失,当焦点返回时出现,导致闪烁和非常糟糕的ux。完整问题的任何解决方案或建议?
请不要告诉我隐藏建议栏,我不想为用户禁用此功能,而且它不适用于所有设备。
提前致谢。
答案 0 :(得分:0)
我猜你应该尝试像这样张贴到ListView
。尝试致电smoothScrollToPosition
。如果这不起作用,请尝试setSelection
lstMessages.post( new Runnable() {
@Override
public void run() {
lstMessages.smoothScrollToPosition(position) ;
}
});