我是初学者,试图制作一个计数应用。我使用了来自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”函数吗?
答案 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");
}
});