Java 如何让Android程序识别';如果';功能?
我是一个尝试制作计数应用程序的初学者。我用这个频道的视频制作了这个Java 如何让Android程序识别';如果';功能?,java,android,Java,Android,我是一个尝试制作计数应用程序的初学者。我用这个频道的视频制作了这个 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 Mai
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”函数吗?将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);
}
});
这样,每当计数器递增时,它都会被检查
重置计数器时,您还需要重置它:
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
counter = 0;
words.setText("A");
display.setText(" " + counter);
}
});
您的代码无法工作,因为只有在第一次创建活动时才会调用
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");
}
});