Я думаю, что вы хотите добиться, чтобы при нажатии на 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
. Мы передадим постоянное значение с объектом намерения в 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 показывает, с какой кнопки было запущено действие.