我有 2 个 Activity ,第一个 Activity 包含两个按钮,第二个 Activity 也包含 2 个按钮。我需要当我单击第一个 Activity 的第一个按钮时,第二个 Activity 启动,第二个 Activity 的第一个按钮变为“不可见”,第二个按钮“可见”。再次,如果用户返回第一个 Activity 并单击第二个按钮,则第二个 Activity 开始,其中第二个按钮变为“不可见”而第一个按钮变为“可见”。
我只需要知道如何确定用户按下第一个 Activity 中的哪个按钮。有什么具体的方法吗,或者有什么办法吗?
我尝试通过在第一个 Activity 中将变量(int i)设置为全局变量来做到这一点,如果用户单击第一个按钮,则此(i)更改为1(与第二个按钮相同),然后我设置第二个 Activity 中的条件将此 (i) 变量调用为:
MainActivity a=new MainActivity();
if(a.i==0){
//do this
}
else if(a.i==1){
//do this
}
但这不起作用,第二个 Activity 总是得到这个 (i),因为它等于 (0)。
最佳答案
您应该使用 Intent 开始第二个 Activity 。对于这个 Intent ,你可以添加一些参数。 在您的第一个 Activity 中:
Button b1 = (Button)findViewById(R.id.button1);
Button b2 = (Button)findViewById(R.id.button2);
// Set OnClickListeners
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Start Activity
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("buttontohide", 0); // Hide Button 0
startActivity(intent);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Start Activity
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("buttontohide", 1); // Hide Button 1
startActivity(intent);
}
});
在您的第二个 Activity 中:
Intent myIntent = getIntent();
int i = myIntent.getExtras().getInt("buttontohide");
关于java - android 如何检查哪个按钮被点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36826832/