为什么当我单击增加和减少时num等于零,当它在里面烘烤时等于num也返回零

时间:2018-11-25 12:32:36

标签: java android arrays variables int

为什么每次点击增加减少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;
}

1 个答案:

答案 0 :(得分:0)

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

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