我有ListView
一个自定义单元格,其中包含2 buttons
、label
和editText
。我已经知道了,所以当我单击自定义单元格的按钮时,它会生成一个日志,说明按钮被按下的位置。但是我无法弄清楚我是如何做到的,所以当我按下按钮时,它会更改该单元格的文本框中的文本。我不知道如何在某个位置引用它。
我的 XML 是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/lvItems"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:drawSelectorOnTop="false" >
</ListView>
</RelativeLayout>
我的代码:
class CustomAdapter extends BaseAdapter
{
@Override
public int getCount() {
return mDescription.size();
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
LayoutInflater inf=getLayoutInflater();
View v=inf.inflate(R.layout.noncriticalasset, arg2,false);
TextView tv=(TextView)v.findViewById(R.id.txtOption);
final EditText et =(EditText)v.findViewById(R.id.tbAnswer);
Button btPlus=(Button)v.findViewById(R.id.btnPlus);
Button btMinus=(Button)v.findViewById(R.id.btnMinus);
btMinus.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
int position = listView
.getPositionForView((View) v.getParent());
Log.v("Position id", "" + position);
et.setText("Test Text");
notifyDataSetChanged();
} catch (Exception e) {
Log.e("error", "error" + e.getMessage());
}
}
});
tv.setText(mDescription.get(arg0).toString());
return v;
}
我尝试仅使用 an 引用文本框,et.setText()
但没有成功。有没有办法说之atPosisiton.et.setText
类的?
非常感谢。