Java Android:Listview自定义单元格-知道哪个项目

Java Android:Listview自定义单元格-知道哪个项目,java,android,custom-cell,Java,Android,Custom Cell,我有一个自定义表格单元,基本上有两个按钮,一个文本视图和一个编辑文本。每个编辑文本旁边都有一个加号和减号按钮。有效地增加/减少文本框中的数字 我无法确定如何将按钮链接到正确的文本框。也就是说,当我按下plus时,有一个只对其所在行的编辑文本框有效的例程。是否必须为每个文本框设置自定义ID 我把所有的课文都写对了 我的自定义单元格是: 之后,我还必须整理所有文本框中的所有信息,并为每个文本框编写一个查询。我是否有一个提交按钮,每个按钮都有一个按钮?(是否有自动创建或类似的阵列?) 汤姆这就是你

我有一个自定义表格单元,基本上有两个按钮,一个文本视图和一个编辑文本。每个编辑文本旁边都有一个加号和减号按钮。有效地增加/减少文本框中的数字

我无法确定如何将按钮链接到正确的文本框。也就是说,当我按下plus时,有一个只对其所在行的编辑文本框有效的例程。是否必须为每个文本框设置自定义ID

我把所有的课文都写对了

我的自定义单元格是:

之后,我还必须整理所有文本框中的所有信息,并为每个文本框编写一个查询。我是否有一个提交按钮,每个按钮都有一个按钮?(是否有自动创建或类似的阵列?)


汤姆这就是你需要的吗

在按钮的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;

您只需要添加监听器,下面是如何为每个项目中的按钮分配监听器的示例:

@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {

  btPlus.setOnClickListener(new OnClickListener() {

     public void onClick(View v) {


     }
  });

  return v;
}

提供您的整个xml文件,因为您已将android:layout_权重分配给前两个组件,而不是最后一个组件。您是否尝试为这两个按钮实现侦听器?如果您为不同的行元素指定了相同的id,而不是更改它并使其唯一谢谢,这非常有用。我现在无法解决的问题是,如何将位置3处的say button press(按下按钮)与位置3处的textbox(文本框)等链接起来,从而在特定位置更改MDDescription列表项的值。(我的意思是移除该位置的项目,并在同一位置插入新值,然后刷新适配器)
@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;
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {

  btPlus.setOnClickListener(new OnClickListener() {

     public void onClick(View v) {


     }
  });

  return v;
}