我想知道如何从新活动中单击哪个按钮...要解释我的问题,请参见图片
我想知道您是否可以在不必创建大量活动的情况下应用相同的代码...为此,我考虑过要使用单击的按钮,然后使用if系统。
谢谢(对不起,英语不好。)
最佳答案
我认为您想要实现的是,当您单击Button
时,它将启动一个新的Activity
,并且在SecondActivity
中,您应该能够区分(第一个Actvity的)哪个Button
开始了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
从哪个按钮启动。我们将带有意图对象的常量值传递给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/