Использование EditText для одного действия для изменения текста кнопок на другое действие

В основном, я в настоящее время пытаюсь иметь некоторые кнопки на экране, когда их щелкают, он переходит к другому действию с полем EditText и кнопкой done. Как только данные будут введены и будут удалены, он вернется и изменит название текста кнопки. Я использовал эту ссылку, чтобы помочь мне. Как передать EditText в другое действие? , проблема, возникающая у меня, - это один раз щелкнуть по другой кнопке и ввести информацию для этого и вернуть ее, забыв предыдущие данные кнопок. У меня есть строка, поэтому только отредактированная кнопка редактируется, поэтому я думаю, что она не хранит данные. Я потратил годы, пытаясь найти разные решения, чтобы сохранить состояние, но ничего не работает.

Я совершенно новичок в Android, поэтому я хорошо знаю, что решение может быть очень простым, и я просто неправильно его реализовал.

Код действия с кнопками выглядит следующим образом:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.edit);
setupViews();
setupListeners();
mIntentString = savedInstanceState != null ?
savedInstanceState.getString("myKey"):null;
if(mIntentString == null){
Bundle extras = getIntent().getExtras();
mIntentString = extras != null ? extras.getString("myKey") : "Choose name";
}
if(ActivityController.button == "1"){
button1.setText(mIntentString);
Log.e(button, "button1 being checked");
}
...
@Override
public void onClick(View view){
if (view == button1) {
Intent i = new Intent();
i.setClass(ActivityEdit.this, ActivityEnterInfo.class);
startActivity(i);
}}
...
public void refreshButtons()
{
if(ActivityController.button == "1"){
mIntentString = button1.getText().toString();
Intent intent = new Intent();
intent.putExtra("returnKey",button1.getText().toString());
setResult(RESULT_OK,intent);
}

Я надеюсь, что все это имеет смысл, я действительно ударил кирпичную стену с этим и нуждаюсь в помощи

2 ответа

По моему мнению, вы хотите сохранить внутреннее состояние своих кнопок и восстановить их, когда вернетесь.

Вы должны переопределить onStart() или onPause() в активности ваших кнопок, чтобы сохранить данные кнопок в частных членах, затем переопределить onStop() или onResume() и использовать их для восстановления ваших данных.


Мой подход к этой проблеме будет использовать sharedpreferences. Сохраните текст кнопки в sharedpreferences, когда вы выполнили задачу на следующем экране, и когда вы хотите отображать текст на кнопке, проверьте, существуют ли данные в sharedPrefrenes или нет. И покажите текст соответствующим образом.

~ Rollno1

licensed under cc by-sa 3.0 with attribution.