Android 使用ArrayAdapter在ListView中编辑文本

Android 使用ArrayAdapter在ListView中编辑文本,android,listview,android-arrayadapter,Android,Listview,Android Arrayadapter,我有一个ListView,它在每个ListView行中显示一个按钮和一个EditText 我在ArrayAdapter中使用ViewHolder模式,因此所有按钮共享一个OnClick侦听器。选择按钮单击很容易,因为OnClickListener中的onClick(视图视图)提供了视图(我使用getTag()获取模型对象) 我不知道如何使用单个TextWatcher来获取更改的文本,因为TextWatcher onTextChanged()回调中没有view参数。感谢您的帮助 为了获取EditT

我有一个ListView,它在每个ListView行中显示一个按钮和一个EditText

我在ArrayAdapter中使用ViewHolder模式,因此所有按钮共享一个OnClick侦听器。选择按钮单击很容易,因为OnClickListener中的onClick(视图视图)提供了视图(我使用getTag()获取模型对象)


我不知道如何使用单个TextWatcher来获取更改的文本,因为TextWatcher onTextChanged()回调中没有view参数。感谢您的帮助

为了获取EditText的值,我在按钮的侦听器中进行了如下操作:

viewHolder.button.setTag(viewHolder.YourEditText);
viewHolder.button.setOnClickListener(new OnClickListener()){
    @Override
    public void onClick(View v) {
        int p = position;
        EditText edit = (EditText) v.getTag();
        String val = edit.getEditableText().toString();
       //do what you want with the value...
    }
}
其中
position
public View getView(最终int位置、视图转换视图、视图组父视图){…


如果您需要,我可以发布整个AdapterClass。

要获取编辑文本的值,请在我使用的按钮的侦听器中,以便:

viewHolder.button.setTag(viewHolder.YourEditText);
viewHolder.button.setOnClickListener(new OnClickListener()){
    @Override
    public void onClick(View v) {
        int p = position;
        EditText edit = (EditText) v.getTag();
        String val = edit.getEditableText().toString();
       //do what you want with the value...
    }
}
其中
position
public View getView(最终int位置、视图转换视图、视图组父视图){…


如果您需要,我可以发布整个AdapterClass。

诀窍是创建一个通用TextWatcher类。然后,应向您创建的每个实例传递一个视图引用,该引用将放置在其中


示例:

诀窍是创建一个通用的TextWatcher类。然后,应该向您创建的每个实例传递一个它将放置到的视图的引用


示例:

你可以粘贴代码,这样我就可以建议你需要更改所有编辑文本的位置吗?你可以创建一个文本观察者吗?你可以粘贴代码,这样我就可以建议你需要更改所有编辑文本的位置吗?你可以创建一个文本观察者吗?谢谢,这正是我想要的。我最终放弃了ListVie中的编辑文本w因为世界上的痛苦焦点问题(正如Joe所说的“只是不是惯用的Android UI设计”)。现在,一个对话框已经足够好了,我稍后再讨论这个问题!是的!我也应该记得试过了。ListView非常适合让您显示内存密集型资源的列表,因为它们为您管理垃圾收集。但是,当我需要关注元素时,我不得不使用ScrollView。谢谢-只是w我最终放弃了ListView中的EditText,因为这个世界有很多痛苦的焦点问题(正如Joe所说的“只是不是惯用的Android UI设计”)。现在,对话框已经足够好了,我稍后再讨论这个问题!是的!我也应该记得尝试过。ListView非常适合让您显示内存密集型资源的列表,因为它们为您管理垃圾收集。但是,当我需要关注元素时,我被迫使用ScrollView。我有一个我的设置方式有问题。你能提供一些帮助吗…我的设置方式有问题。你能提供一些帮助吗。。。