java - android 如何检查哪个按钮被点击?

标签 java android oop

我有 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/

相关文章:

java - 用 Jena 加载 owl 文件

android - 将元数据添加到上传的图像 Firebase/Kotlin

java - Apache Nifi SOCKS 代理设置

java - 切换到新的 Activity/应用页面时应用崩溃

android - Loader 的生命周期是多少?

java - 这个设计得好吗?这些参数是否正确应用?

javascript - Socket.io 在 ES6 类中发出值

c# - 如何识别默认构造函数?

java - 猜测随机数

android - 如何关闭 Activity 并返回到android中的上一个 Activity