使用ArrayAdapter在ListView中编辑TextText

时间:2013-09-04 06:46:05

标签: android listview android-arrayadapter

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

我在ArrayAdapter中使用ViewHolder模式,因此所有按钮共享一个OnClickListener。点击按钮是很容易的,因为我的OnClickListener中的onClick(视图视图)给了我视图(我使用getTag()来获取我的模型对象。)

我无法弄清楚如何使用单个TextWatcher来获取更改的文本,因为TextWatcher onTextChanged()回调中没有视图参数。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

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

示例:https://stackoverflow.com/a/6172024/560600

答案 1 :(得分:0)

为了获取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...
    }
}

positionpublic View getView(final int position, View convertView, ViewGroup parent){...

的位置

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