Активность не обновляет предыдущую активность TextView
Я сам создал первое приложение для Android. Пользователь должен нажать кнопку "Следующая активность началась", которая откроет новую деятельность. Пользователь напечатает там текст, и текст будет возвращен на предыдущий экран. Этот текст будет обновлен при просмотре текста. Первоначально текстовое представление будет иметь сообщение "Текст не введен", а после обновления из действия будет введен новый текст. У меня проблема с тем, что текстовое поле исчезает, и сообщение не отображается при обновлении от нового действия.
Вот моя основная деятельность
public static String new_message;
final int REQUEST_CODE = 1;
public void new_activity(View view){
Intent intent = new Intent(this, new_activity.class);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == REQUEST_CODE && resultCode == RESULT_OK && data!= null){
TextView set_message = (TextView) findViewById(R.id.entered_text);
set_message.setText(new_message);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void show_text(View view){
TextView message;
message = (TextView) findViewById(R.id.showText);
message.setText("I have been cliked now!!");
}
Вот мой новый файл активности Java.
public void return_previous(View view){
Intent resultIntent = new Intent();
EditText editTextBox = (EditText) findViewById(R.id.text_entered);
String text_entered = editTextBox.getText().toString();
resultIntent.putExtra(MainActivity.new_message,text_entered);
setResult(RESULT_OK, resultIntent);
this.finish();
}
1 ответ
Отредактируйте onActivityResult, чтобы соответствовать этому
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == REQUEST_CODE && resultCode == RESULT_OK && data!= null){
TextView set_message = (TextView) findViewById(R.id.entered_text);
//set_message.setText(new_message);
set_message.setText(data.getStringExtra(new_message));
}
}