如何将焦点设置在listview中的特定项目上。 Android的?

时间:2011-08-01 23:36:07

标签: android android-listview android-edittext

我在每行都有一个带有edittext的列表视图。这是为了实现待办事项列表。当用户在第二行并按回车键时,我想添加一行并在启用键盘的情况下将焦点放在新行上。这样他就可以立即开始输入新行。我能够在编辑文本中捕获onkey按,然后向适配器和notifyDataSetChanged()添加一个新行,以便刷新列表视图。但在此之后我无法将焦点带到新的一行。它会转到第一行,或者有时根本没有焦点,或者有时可以正常工作。

如果有任何解决方法,请告诉我。或者让我知道如果我想要一个列表视图来实现todo / check列表是完全错误的。感谢您的时间和建议。

2 个答案:

答案 0 :(得分:2)

单击按钮时从bindView()抓取光标,然后将其存储在 tempCursor 中。

调用notifyDataSetInvalidated()后,从tempCursor获取位置,并在ListView中设置此位置。

    refreshList();

    listView.setSelection(tempCursor.getPosition());

答案 1 :(得分:0)

我不确定这是否是你要找的。

选择一个listItem,有这个setSelection,setSelectionAfterHeaderView,setSelectionFromTop .. Link

为了获得对视图的关注,这是一个requestFocus .. Link