为什么num等于零,当我点击增加和减少也返回零,当它在它内面的吐司等于num

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么num等于零,当我点击增加和减少也返回零,当它在它内面的吐司等于num相关的知识,希望对你有一定的参考价值。

每次点击增加或减少后为什么num = 0?方法increasedecrease(...)总是返回0但在OnClickListner内部它将其值更改为实数。任何人都可以解释这种行为吗?

int num;

public int incraesedecrease( final titleHodler viewHolder) {

    viewHolder.increase.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            num = Integer.parseInt(viewHolder.textnum.getText().toString());
            num++;
            String txtnum = Integer.toString(num);
            viewHolder.textnum.setText(txtnum);
        }
    });

    viewHolder.decrease.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            num--;
            String txtnum=Integer.toString(num);
            if(num>0) {
                viewHolder.textnum.setText(txtnum);
            }

        }
    });

    Toast.makeText(context, ""+num, Toast.LENGTH_SHORT).show();

    return num;
}
答案

在方法内部,您只需创建onclick侦听器。方法返回的值应该与调用函数之前的初始值相同。

调用函数increasedecrease时执行Toast和return行,而不是单击按钮时执行。

以上是关于为什么num等于零,当我点击增加和减少也返回零,当它在它内面的吐司等于num的主要内容,如果未能解决你的问题,请参考以下文章

数组

283.移动零

LeetCode 283 移动零

LeetCode 2357. 使数组中所有元素都等于零

LeetCode 2357. 使数组中所有元素都等于零

oracle 中如何创建一个函数用来判断输入的数字正负零,并且在一个名为count表(num1 number)中查出所有正