我有一个自定义表格单元格,基本上有2个按钮,一个textview和一个编辑文本。每个编辑文本旁边都有一个加号和减号按钮。有效地增加/减少文本框中的数字。
我无法弄清楚如何将按钮链接到右侧文本框。即当我按加号时,有一个只适用于其行中的edittext框的例程。我是否必须为每个文本框设置自定义ID?
我已经正确地提出了所有问题。
我的自定义单元格是:
<TextView
android:id="@+id/txtOption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_weight="0.00"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/btnPlus"
style="?android:attr/buttonStyleSmall"
android:layout_width="49dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/txtOption"
android:layout_weight="0.00"
android:text="+" />
<Button
android:id="@+id/btnMinus"
style="?android:attr/buttonStyleSmall"
android:layout_width="49dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnPlus"
android:layout_alignBottom="@+id/btnPlus"
android:layout_toRightOf="@+id/btnPlus"
android:layout_weight="0.00"
android:text="-" />
<EditText
android:id="@+id/tbAnswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnMinus"
android:layout_toRightOf="@+id/btnMinus"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
我的自定义单元格正在调用:
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);
Button btPlus=(Button)v.findViewById(R.id.btnPlus);
Button btMinus=(Button)v.findViewById(R.id.btnMinus);
TextView tv=(TextView)v.findViewById(R.id.txtOption);
EditText et=(EditText)v.findViewById(R.id.tbAnswer);
tv.setText(mDescription.get(arg0).toString());
return v;
}
}
我还必须整理所有文本框中的所有信息,并为每个文本框写一个查询。我是否有一个提交按钮,每个按钮? (是否创建了自动数组或类似?)
汤姆
答案 0 :(得分:1)
您只需要添加监听器,以下是如何为每个项目中的按钮分配监听器的示例:
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
btPlus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
}
});
return v;
}
答案 1 :(得分:0)
这是你需要的吗?
在按钮的onclick()中使用
@Override
public void onClick(View v) {
try {
position = listview
.getPositionForView((View) v.getParent()); // position is an integer variable which helps you identify which item's plus button was clicked
Log.v("Position id", "" + position);
// do some manipulations
notifyDataSetChanged();
} catch (Exception e) {
Log.e("error", "error" + e.getMessage());
}
break;