Android 在没有用户输入的情况下,关注ListView中一行内的EditText

Android 在没有用户输入的情况下,关注ListView中一行内的EditText,android,listview,focus,Android,Listview,Focus,因此,我将向ListView添加一行。此行包含EditText、微调器和按钮。 我可以选择最后添加的行及其对应的EditText。 现在我想聚焦这个对象并编辑它。 我已经尝试过使用InputManager和处理程序,使整个视图无效。 但它从不关注对象。 但是,当我向EditText添加OnFocusChangeListener()时,requestFocus()会触发该事件。 只是UI没有被更新。更改文本也是如此。调试时,EditText的值已更改,但UI未更新。我自己没有尝试过,但您可以这样尝

因此,我将向ListView添加一行。此行包含EditText、微调器和按钮。 我可以选择最后添加的行及其对应的EditText。 现在我想聚焦这个对象并编辑它。 我已经尝试过使用InputManager和处理程序,使整个视图无效。 但它从不关注对象。 但是,当我向EditText添加OnFocusChangeListener()时,requestFocus()会触发该事件。
只是UI没有被更新。更改文本也是如此。调试时,EditText的值已更改,但UI未更新。

我自己没有尝试过,但您可以这样尝试吗

    View childView = (View) listView.getChildAt(INTEGEER_POSITION);
    EditText editTextTFocus = (EditText) childView.findViewById(R.id.etxId);
    editTextTFocus.requestFocus();
其思想是,从具有特定位置的listview获取特定VIEW。
然后访问该特定视图并给予它焦点。

只是一个提醒-在listviewOk中设置焦点是一种不好的做法,但我需要动态添加项目,这似乎是显而易见的解决方案。有更好的方法吗?谢谢你的回答,当满足某些要求时,通过在适配器中添加它来修复它。是的,这对我来说很奇怪,本质上它应该是同一个对象。但是是的,它现在起作用了。