Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
如何在android中使用加号和减号按钮更新适配器中的EditText_Android_Android Edittext_Adapter - Fatal编程技术网

如何在android中使用加号和减号按钮更新适配器中的EditText

如何在android中使用加号和减号按钮更新适配器中的EditText,android,android-edittext,adapter,Android,Android Edittext,Adapter,我从服务器更新数据,并使用ArrayAdapter打开EditText。但是我正在使用加号(p)和减号(m)按钮,请参见 这幅画。但无法更新。你知道怎么做吗 对于Plus: holder.imgPlus.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int currentQty = Integer

我从服务器更新数据,并使用ArrayAdapter打开EditText。但是我正在使用加号(p)和减号(m)按钮,请参见
这幅画。但无法更新。你知道怎么做吗

对于Plus:

holder.imgPlus.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                int currentQty = Integer.parseInt(newDataItems.get(position).qty.toString());

                for (int i = 0; i < listEdit.size(); i++) {
                    if (position==i)) {
                        int finalQty = currentQty + 1;
                        holder.etShoppingCartQty.setText(""+finalQty);
                        //listEdit.get(i).setText("" + finalQty);

                    }

                }

            }
        });
自动更新总值。每当单击加减按钮。

遵循以下步骤:

  • 您需要在适配器中处理P和M的单击侦听器 按钮
  • 增加或减少的onClickListener中EditText的值 按钮P和M
  • 还可以将增加或减少的值设置为在P和M按钮的onClickListener中列出
  • 根据您的代码进行更新:

    holder.imgPlus.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    int currentQty = Integer.parseInt(newDataItems.get(position).qty.toString());
                    int finalQty = currentQty + 1;
                    //holder.etShoppingCartQty.setText(""+finalQty);
                    newDataItems.get(position).setQty(finalQty);
                    notifyDataSetChanged();    
                }
            });
    

    在适配器中,当绑定到itemview(获取视图)时,将侦听器设置为按钮

    发布您自己的代码:)并进行一些小调整

    holder.imgPlus.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
    
                int currentQty = Integer.parseInt(newDataItems.get(position).qty.toString());
    
                for (int i = 0; i < listEdit.size(); i++) {
                    if (position==i)) {
                        int finalQty = currentQty + 1;
                        holder.etShoppingCartQty.setText(""+finalQty);
                        // Uncommenting below line
                        listEdit.get(i).setText("" + finalQty);
    
                    }
    
                }
            // To notify adapter that data set has been changed
            notifyDataSetChanged();
    
            }
        });
    
    holder.imgPlus.setOnClickListener(新的OnClickListener(){
    @凌驾
    公共void onClick(视图v){
    int currentQty=Integer.parseInt(newDataItems.get(position.qty.toString());
    对于(int i=0;i
    适配器代码请在
    按钮中读取
    notifyDataSetChanged()
    ,然后单击
    for
    循环执行
    public View getView(final int position, View convertView, ViewGroup parent) {
        if(convertView == null){
            ...inflate
        }
        //I love ViewHolder pattern, you can not use it
        final ViewHolder vh = new ViewHolder(vh);
        vh.plus.setOnClickListener(new OnCLickListaner(){
            @Override
            public void onClick(View v){
                //as your example
                int currentQty = Integer.parseInt(newDataItems.get(position).qty.toString());
                currentQty++;
    
                //...update data (qty), do work to save data changes in model
    
                notifyDataSetChanged();
                // or vh.editText.setText("" + currentQty); if you no need to update data
            }
        });
        return view;
     }
    
    holder.imgPlus.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
    
                int currentQty = Integer.parseInt(newDataItems.get(position).qty.toString());
    
                for (int i = 0; i < listEdit.size(); i++) {
                    if (position==i)) {
                        int finalQty = currentQty + 1;
                        holder.etShoppingCartQty.setText(""+finalQty);
                        // Uncommenting below line
                        listEdit.get(i).setText("" + finalQty);
    
                    }
    
                }
            // To notify adapter that data set has been changed
            notifyDataSetChanged();
    
            }
        });