У меня есть два действия, и второе действие должно отправить строку текста в соответствующее текстовое представление для действия 1 в зависимости от того, выбираю ли я кнопку 1 или кнопку 2. Я считаю, что мое намерение в launchFoodActivity () в действии 1 неверно запрашивает для 2 запросов одновременно. Как я могу исправить свой код, чтобы каждая строка текста отправлялась в соответствующее текстовое представление в действии 1?
Activity 1
public class MainActivity extends AppCompatActivity {
private TextView mReplyTextView1;
private TextView mReplyTextView2;
public static final int TEXT_REQUEST = 1;
public static final int TEXT_REQUEST2 = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mReplyTextView1 = findViewById(R.id.food_text_1);
mReplyTextView2 = findViewById(R.id.food_text_2);
}
public void launchFoodActivity(View view) {
Intent intent = new Intent(this, FoodListActivity.class);
startActivityForResult(intent, TEXT_REQUEST);
Intent intent2 = new Intent(this, FoodListActivity.class);
startActivityForResult(intent2, TEXT_REQUEST2);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
String textFoodReply1 = data.getStringExtra(FoodListActivity.EXTRA_REPLY);
mReplyTextView1.setText(textFoodReply1);
break;
}
}
case 2:
if (requestCode == 2) {
if (resultCode == RESULT_OK) {
String textFoodReply2 = data.getStringExtra(FoodListActivity.EXTRA_REPLY);
mReplyTextView2.setText(textFoodReply2);
break;
}
}
}
}
}
Activity 2
public class FoodListActivity extends AppCompatActivity {
public static final String EXTRA_REPLY = "com.dev20.shoppinglist.extra.REPLY";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_food_list);
}
public void returnFoodItem1(View view) {
String replyItem1 = getResources().getString(R.string.cheese_text);
Intent replyIntent = new Intent();
replyIntent.putExtra(EXTRA_REPLY, replyItem1);
setResult(RESULT_OK, replyIntent);
finish();
}
public void returnFoodItem2(View view) {
String replyItem2 = getResources().getString(R.string.apples_text);
Intent replyIntent2 = new Intent();
replyIntent2.putExtra(EXTRA_REPLY, replyItem2);
setResult(RESULT_OK, replyIntent2);
finish();
}
}