#java #android #android-intent
#java #Android #android-намерение
Вопрос:
я перенес некоторые строковые данные edittext из второго действия в первое и поместил строковые данные в textviews в первом действии. это сработало нормально.
когда я перехожу от первого действия ко второму действию (выполняется с помощью меню опций), я хочу перенести ранее введенные данные edittext обратно в редактируемые тексты во втором действии. я не могу перенести его — во втором действии edittexts возвращаются к исходным настройкам edittext (пустым).
это мой второй код действия:
public void goToMain(View view) { //run when a button is clicked
Intent intent = new Intent(setPlayersActivity.this, MainActivity.class);
intent.putExtra("P1",p1EditText.getText().toString());
startActivity(intent);
}
и в моем первом коде действия, который у меня есть при создании:
Intent name = getIntent();
p1TextView.setText(name.getStringExtra("P1"));
чтобы перейти от первого действия ко второму
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.resetAll) {
updateScoreTeamA(scoreA = 0);
} else if (item.getItemId() == R.id.setPlayers) {
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
до сих пор все работает нормально.
однако при возвращении ко второму действию edittexts снова становятся пустыми (я хочу перенести ранее введенные данные обратно в это действие).
чтобы заполнить edittexts ранее введенными строковыми данными, я попробовал выполнить следующее при создании второго действия.
p1EditText.setText(getIntent().getStringExtra("P1"));
заранее спасибо за помощь. я новичок в программировании и не могу представить, как добиться какого-либо прогресса без этого сообщества.
Ответ №1:
При изменении вашей активности вы должны предоставить данные для этого определенного намерения. В противном случае это не будет работать
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
intent.putExtra("P1","data");
startActivity(intent);