public class MyCustomAdapter extends BaseAdapter {
    Context context;
    String[] result;
    int[] imageId;
    String[] Cost;
    static int counter = 0;
    private static LayoutInflater inflater = null;


    public MyCustomAdapter(Context mainActivity, String[] result, int[] imageId, String[] Cost
    ) {
        // TODO Auto-generated constructor stub
        this.result = result;
        this.imageId = imageId;
        this.Cost = Cost;
        this.context = mainActivity;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return result.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    public class Holder {
        TextView tv;
        TextView cost;
        ImageView img;
        ImageView plusitem;
        ImageView minusitem;
        TextView itemnumber;

    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        final Holder holder = new Holder();
        View rowView;
        rowView = inflater.inflate(R.layout.listitem, null);
        holder.tv = (TextView) rowView.findViewById(R.id.textView1);
        holder.img = (ImageView) rowView.findViewById(R.id.imageView1);
        holder.cost = (TextView) rowView.findViewById(R.id.textView2);
        holder.plusitem = (ImageView) rowView.findViewById(R.id.imageButton2);
        holder.minusitem = (ImageView) rowView.findViewById(R.id.imageButton);
        holder.itemnumber = (TextView) rowView.findViewById(R.id.textView4);
        holder.tv.setText(result[position]);
        holder.img.setImageResource(imageId[position]);

        holder.plusitem.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                holder.itemnumber.setText(String.valueOf( _counter));
                //holder.itemnumber.setText(result[position]);

            }
        });

        holder.minusitem.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                holder.itemnumber.setText(String.valueOf( _counter));
                //  holder.itemnumber.setText(result[position]);
            }
        });


        return rowView;

    }}


这是我的适配器,我们有+按钮用于增加项目,而-按钮
对于减少项目,我必须获得第一个项目中的项目编号
如果我们有2个项目,第二个项目可以3,4 ..依此类推。
实际上我想在购物车上添加物品
尝试使用静态变量无法正常工作
android - 如何为每个项目按钮设置值以增加和减少点击并在文本 View 中设置该值-LMLPHP请告诉我逻辑。在下面看我的屏幕

最佳答案

如设计所示创建ButtonsTextView。为onclick编写Buttons方法。初始化Integer变量以保存计数。单击+按钮,将计数增加1并在Textview中设置文本。类似地,当您单击-按钮时,将计数递减一并在TextView中设置文本。

  int count=0;
    TextView txtCount =(TextView) findViewById(R.id.txt);
    Button buttonInc= (Button) findViewById(R.id.button1);
    Button buttonDec= (Button) findViewById(R.id.button2);

    buttonInc.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            count++;
            txtCount.setText(String.valueOf(count));

        }
    });

buttonDec.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            count--;
            txtCount.setText(String.valueOf(count));

        }
    });

10-06 06:31
查看更多