所以我在一项 Activity 中有多个按钮,而且我只能一个接一个地使用它们。我读过我需要对 (OnClickListener) 部分做一些事情,但我不确定做什么或如何做。任何帮助是极大的赞赏。代码如下:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Main2Activity extends AppCompatActivity {
private Button B3;
private Button B4;
private Button B5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
B3 = findViewById(R.id.button3);
B3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToDanceScheduleMenu();
}
});
}
private void moveToDanceScheduleMenu () {
Intent intent = new Intent(Main2Activity.this, DanceScheduleMenu.class);
startActivity(intent);
B4 = findViewById(R.id.button10);
B4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToWhatsOn();
}
});
}
private void moveToWhatsOn () {
Intent intent = new Intent(Main2Activity.this, WhatsOn.class);
startActivity(intent);
B5 = findViewById(R.id.button11);
B5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToMainResultsMenu();
}
});
}
编辑:感谢大家目前提供的所有帮助,所以当我回家时我会测试这些。它们看起来与我读过的非常相似,所以它们应该可以工作..谢谢!
最佳答案
您正在按顺序设置点击监听器。如果您希望所有按钮随时可单击,请将监听器移至 onCreate()
中:
protected void onCreate() {
B3.setOnClickListener(){};
B4.setOnClickListner(){};
// etc.
}
点击监听器就是这样——它“监听”点击。例如,您的 B3
是创建 Activity 时唯一监听的按钮,因此所有其他按钮都会忽略您对它们的点击。单击 B3
时,将调用 moveToDanceScheduleMenu()
并且 B4
开始监听。
我希望这能让事情变得更清楚。
<小时/>完整代码:
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Main2Activity extends AppCompatActivity {
private Button B3;
private Button B4;
private Button B5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
B3 = findViewById(R.id.button3);
B3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToDanceScheduleMenu();
}
});
B4 = findViewById(R.id.button10);
B4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToWhatsOn();
}
});
B5 = findViewById(R.id.button11);
B5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveToMainResultsMenu();
}
});
}
private void moveToDanceScheduleMenu () {
Intent intent = new Intent(Main2Activity.this, DanceScheduleMenu.class);
startActivity(intent);
}
private void moveToWhatsOn () {
Intent intent = new Intent(Main2Activity.this, WhatsOn.class);
startActivity(intent);
}
}
关于java - 按钮仅在相继使用时才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659739/