我有一个ListView,它在每个ListView行中显示一个按钮和一个EditText。
我在ArrayAdapter中使用ViewHolder模式,因此所有按钮共享一个OnClickListener。点击按钮是很容易的,因为我的OnClickListener中的onClick(视图视图)给了我视图(我使用getTag()来获取我的模型对象。)
我无法弄清楚如何使用单个TextWatcher来获取更改的文本,因为TextWatcher onTextChanged()回调中没有视图参数。任何帮助表示赞赏!
答案 0 :(得分:1)
诀窍是创建一个通用的TextWatcher类。然后,您创建的每个实例都应该传递它将被放入的视图的引用。
答案 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...
}
}
position
为public View getView(final int position, View convertView, ViewGroup parent){...
如果您需要,我可以发布整个AdapterClass。