为什么“ if(counter> 10)”不起作用?

时间:2019-02-06 13:46:20

标签: android

如果我的计数器高于10,我试图显示一个AlertDialog。

我已经尝试在if语句中使用TextView变量peopleCount,但是它也不起作用。我知道无法使用TextView,但我需要知道是否有解决方法。

private TextView peopleCount;
private ImageView plusOne;
private ImageView minusOne;
private ImageView reset;
private int counter;

private View.OnClickListener clickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        switch(v.getId()) {
            case R.id.ivPlusOne :
                plusCounter();
                break;
            case R.id.ivMinusOne :
                minusCounter();
                break;
            case R.id.ivReset :
                initCounter();
                break;

        }

    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_people);

    peopleCount = (TextView)findViewById(R.id.tvPeopleCount);

    plusOne = (ImageView)findViewById(R.id.ivPlusOne);
    plusOne.setOnClickListener(clickListener);

    minusOne = (ImageView)findViewById(R.id.ivMinusOne);
    minusOne.setOnClickListener(clickListener);

    reset = (ImageView)findViewById(R.id.ivReset);
    reset.setOnClickListener(clickListener);

    initCounter();

    if( counter > 10) {
        AlertDialog.Builder peopleAlert = new AlertDialog.Builder(PeopleActivity.this);

        peopleAlert.setCancelable(false);
        peopleAlert.setTitle("People Count High");
        peopleAlert.setMessage("Please check and replenish inventory");

        peopleAlert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogPeople, int which) {
                dialogPeople.cancel();


            }

        });
        peopleAlert.show();
    }

private void initCounter(){
    counter = 0;
    peopleCount.setText(counter + "");
}
private void plusCounter(){
    counter++;
    peopleCount.setText(counter + "");
}
private void minusCounter(){
    counter--;
    peopleCount.setText(counter + "");
}

我希望当计数器达到11却没有任何反应时出现AlertDialog。

1 个答案:

答案 0 :(得分:2)

OnCreate仅运行一次,您需要将if语句移至一个函数,然后从plusCounter()和minusCounter()函数进行调用。