繁体   English   中英

如果其他条件不能有效增加或减少数量

[英]If Else Condition not Working in Increase and Decrease Value of qty

我想在值为零时禁用图像视图。 我尝试了很多,但不知道问题出在哪里。

在另一个Activity中,此代码可以正常工作,但是当我将相同的代码粘贴到listView的ListViewAdapter中时,它就无法工作

我面临的问题是:

当我第一次运行该应用程序时,它运行良好,但是当我再次执行相同的操作时,则禁用ImageView。

第二个问题是当我向下移动到页面时它将直接显示0,而当我增加时它将给我最后一个数量。

不知道问题出在哪里,完整的代码如下:-

listViewAdapterorder.java

@Override
    public long getItemId(int position) {
        return position;
    }

        public View getView(final int position, View convertView, ViewGroup parent) {

            TextView mname , pmethod2, pamount3, premark4;
            final ImageView increase,decrease;
            final Button add;
            inflater = (LayoutInflater) cntx
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            LayoutInflater inflater = LayoutInflater.from(cntx);

            convertView = inflater.inflate(R.layout.raw_order, parent,
                    false);
            decrease = (ImageView) convertView.findViewById(R.id.decrease);
            increase= (ImageView) convertView.findViewById(R.id.increase);
            add= (Button) convertView.findViewById(R.id.add);

            mname = (TextView) convertView.findViewById(R.id.mname);
            mname.setText("  " + o_aproduct.get(position));


            final TextView displayInteger = (TextView) convertView.findViewById(R.id.integer_number);
            //add.setText("  " +count);



            increase.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    int count = sia.get(position);
                    count= count + 1;
                    sia.put(position, count);
                    displayInteger.setText("" + count);
                    add.setText("  " +count);
                }
            });
            decrease.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    int count = sia.get(position);
                    count= count- 1;
                    sia.put(position, count);
                    displayInteger.setText("" + count);
                    add.setText("  " +count);
                    if (count > 0 )
                    {
                        decrease.setEnabled(true);
                    }
                    else if (count == 0 ){
                        decrease.setEnabled(false);

                    }
                    else {
                        decrease.setEnabled(false);
                    }


                }
            });

            return convertView;
        }

我还没有运行您的代码,但是没有decrease.setEnabled(true);似乎有点奇怪decrease.setEnabled(true); 在增加按钮的点击处理程序中排成一行。 这意味着当数字再次增加到零以上时,减少按钮将不会重新启用。 这是你想要的吗?

当我第一次运行该应用程序时,它运行良好,但是当我再次执行相同的操作时,则禁用ImageView。

您应该clear计数,因为应用程序知道最后的结果。

对于第二个问题, clear也会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM