Использование EditText в одном упражнении для изменения текста кнопок в другом занятии - PullRequest
0 голосов
/ 22 декабря 2011

По сути, в настоящее время я пытаюсь использовать несколько кнопок на экране, когда они нажимаются, он переводит пользователя к другой активности с полем EditText и кнопкой «Готово».После того, как данные введены и завершены, они возвращаются назад и изменяют название текста кнопки.Я использовал эту ссылку, чтобы помочь мне Как передать 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 ]

0 голосов
/ 22 декабря 2011

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

~ Rollno1

0 голосов
/ 22 декабря 2011

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

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

...