如何让Android程序识别“if”功能?

时间:2014-06-29 13:27:15

标签: java android

我是初学者,试图制作一个计数应用。我使用了来自thenewboston's频道的视频来制作此视频。

package com.example.tasbih2;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

int counter;
Button tap, reset;
TextView display, words;

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

    counter = 0;
    tap = (Button) findViewById(R.id.button1);
    reset = (Button) findViewById(R.id.resetbutton);
    words = (TextView) findViewById(R.id.words);
    display = (TextView) findViewById(R.id.counter);

    if (counter > 10){
        words.setText("C");
    }
    else if (counter > 7){
        words.setText("B");
    }
    else{
        words.setText("A");
    }

    //This is the command to add a count
    tap.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter++;
            display.setText(" " + counter);
        }
    });

    reset.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter = 0;
            display.setText(" " + counter);
        }
    });
}

我尝试过很多次运行程序。我想要应用程序,以便当计数器达到特定数字时,数字顶部的书写会发生变化。不知何故,当计数器达到数字8时,顶部的书写不会改变。我尝试使用'while'功能。然而,这只是我的应用程序崩溃。有人可以告诉我如何制作我的程序,以便在计数器达到一定数量时定期检查“if”函数吗?

2 个答案:

答案 0 :(得分:0)

将if语句移到此处:

tap.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        counter++;

        if (counter > 10){
            words.setText("C");
        } else if (counter > 7){
            words.setText("B");
        } else {
            words.setText("A");
        }

        display.setText(" " + counter);
    }
});

这样每次counter递增时都会检查它。

重置计数器时,您还需要重置它:

reset.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        counter = 0;
        words.setText("A");
        display.setText(" " + counter);
    }
});

答案 1 :(得分:0)

您的代码不起作用,因为onCreate()仅在第一次创建活动时被调用,并且由于您的逻辑在其中,因此永远不会再次调用它。因此,现在您在按钮单击时更改值,因此将逻辑移到那里,每次单击按钮时都会调用它。只需将您的代码更改为:

    //This is the command to add a count
    tap.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter++;
            display.setText(" " + counter);
            if (counter > 10){
             words.setText("C");
            }
            else if (counter > 7){
             words.setText("B");
            }
            else{
             words.setText("A");
            }
          }
      });

    reset.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            counter = 0;
            display.setText(" " + counter);
            words.setText("A");
         }
      });