Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为customlistview android中的按钮设置onclicklistener_Android_Android Listview_Onclicklistener_Baseadapter - Fatal编程技术网

为customlistview android中的按钮设置onclicklistener

为customlistview android中的按钮设置onclicklistener,android,android-listview,onclicklistener,baseadapter,Android,Android Listview,Onclicklistener,Baseadapter,我正在使用baseadapter创建自定义listview。我的listview包含textview、两个按钮和一个edittext。这两个按钮用于加法和减法。当我单击加号按钮时,我希望edittext中的值增加1,并且我将edittext的默认值保留为1 这是用于listview的mycustombaseadapter中的getView方法 public View getView(int position, View convertView, ViewGroup parent) { /

我正在使用baseadapter创建自定义listview。我的listview包含textview、两个按钮和一个edittext。这两个按钮用于加法和减法。当我单击加号按钮时,我希望edittext中的值增加1,并且我将edittext的默认值保留为1

这是用于listview的mycustombaseadapter中的getView方法

public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
        final ViewHolder holder;
        int i=1;
        if (convertView == null) {


       convertView = mInflater.inflate(R.layout.each_menu, null);
       holder = new ViewHolder();


      holder.txtoutletname = (TextView) convertView.findViewById(R.id.menuname);
      holder.price = (TextView) convertView.findViewById(R.id.cost);
      holder.plus = (Button) convertView.findViewById(R.id.plusbut);
      holder.minus = (Button) convertView.findViewById(R.id.minusbut);
      holder.qua = (EditText) convertView.findViewById(R.id.quanedit);
      holder.plus.setId(i);

      holder.minus.setId(i); 
      i++;
       convertView.setTag(holder);
      } else {
       holder = (ViewHolder) convertView.getTag();
      }

      holder.txtoutletname.setText(searchArrayList.get(position).getmenuname());
      holder.price.setText(searchArrayList.get(position).getcost());




      holder.plus.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                // TODO Auto-generated method stub
                 String vall=holder.qua.getText().toString();
                 int num=Integer.parseInt(vall);
                 num=num+1;
                 holder.qua.setText(num);
                 Log.d("plus",vall);

            }
        });





      return convertView;

}
这是ViewHolder类

static class ViewHolder {
    TextView txtoutletname; 
    TextView price;
    NumberPicker np;
    Button plus;
    Button minus;
    EditText qua;

    }
现在,当我点击+按钮时,活动被强制关闭。 请帮我拿这个

String.valueOf()对我有用。 谢谢

但是现在按钮可以点击,列表视图就不能点击了。。 我希望buton和listview都可以点击。 我添加了没有这些按钮的ClickListener项。

替换此项

holder.qua.setText(num);

因为你有这个

int num=Integer.parseInt(vall); // num is an int value
num=num+1;
public final void setText(int resid)

在您的情况下,它会查找id为的资源。如果未找到,则会得到ResourceNotFoundException

你需要什么

public final void setText(CharSequence text)
CharSequence
作为参数


因此,请使用
String.valueOf(num)

这是正确的答案,这是一个非常常见的错误,如果要在文本视图中显示数字,必须使用String.valueOf(),否则它将调用setText(int resId)
int num=Integer.parseInt(vall); // num is an int value
num=num+1;