我想知道如何获取从新 Activity 中单击的按钮...要解释我的问题,请查看图片
我想知道您是否可以应用相同的代码而不必创建大量 Activity ...为此,我考虑采用您单击的按钮,然后使用 if 系统。
谢谢(抱歉英语不好。)
最佳答案
我认为您想要实现的是,当您单击 Button
时,它会启动一个新的 Activity
并在 SecondActivity
中您应该能够区分哪个 Button
(第一个 Actvity 的)启动了 SecondActivity
。如果是这样,那么下面的代码将起作用。
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public static final String BUTTON1 = "BUTTON1";
public static final String BUTTON2 = "BUTTON2";
public static final String BUTTON3 = "BUTTON3";
public static final String BUTTON4 = "BUTTON4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);
Button button3 = findViewById(R.id.button3);
Button button4 = findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = new Intent(this, SecondActivity.class);
switch (v.getId()) {
case R.id.button1:
intent.putExtra("key", BUTTON1);
break;
case R.id.button2:
intent.putExtra("key", BUTTON2);
break;
case R.id.button3:
intent.putExtra("key", BUTTON3);
break;
case R.id.button4:
intent.putExtra("key", BUTTON4);
break;
}
startActivity(intent);
}
}
这里我们为每个按钮声明了一些常量。它将帮助我们确定 SecondActivity
是从哪个按钮启动的。我们会将常量值和 Intent 对象一起传递给 SecondActivity,然后对其进行验证。
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class SecondActivity extends AppCompatActivity {
private static final String TAG = "SecondActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
String intentKey = getIntent().getStringExtra("key");
Log.d(TAG, "Intent Key Message: " + intentKey);
}
}
上面的 SecondActivity 代码显示了 Activity 是从哪个按钮启动的。
关于java - Android Studio Activity - 已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60511030/