Android, просто просмотрите вопрос о восстановлении просмотра - PullRequest
0 голосов
/ 06 января 2011

У меня есть кнопка в моей деятельности, когда вы нажимаете кнопку, оператор if запускается с ее текстовой меткой;

if(BTN_1.getText()=="firsttext"){
    //do some stuff, then...
    BTN_1.setText("secondtext");
}else if(BTN_1.getText()=="secondtext"){
    //do other stuff, then...
    BTN_1.setText("firsttext");
}

Во-первых, если я нажму кнопку «Домой» и вернусь на рабочий столзатем нажмите обратно на мое приложение, и само представление восстановилось;если я нажимаю кнопку и оставляю ее в состоянии, в котором текст кнопки имеет значение «secondtext», когда я возвращаюсь в свое приложение с сообщением «firsttext», как я могу остановить отображение моего приложения, обновляющего себя таким образом?

Во-вторых, под моим макетом XML я определил текст кнопок;android: text = "firsttext" Но на самом деле это не будет соответствовать моему утверждению if выше, в разделе onCreate этого приложения у меня есть: BTN_CONNECT.setText ("Connect");Но визуально текст кнопки точно такой же, почему он не совпадает?

Спасибо за чтение:)

1 Ответ

4 голосов
/ 06 января 2011

С чего начать?

  • Сравнение строк необходимо выполнять с equals(), а не ==.
  • Сравнение строк для проверки вашего состояния плохо с самого начала,Используйте целое число / перечисление, чтобы увидеть управление своим состоянием.
  • В зависимости от того, как долго вы хотите, чтобы ваше состояние сохранялось, вы можете сделать это либо в Activity.saveInstanceState() (так будет и в случае изменения ориентации), либо вSharedPreferences, если вы хотите, чтобы оно сохранялось вечно.
  • Не используйте жестко закодированные строки для android: текст, используйте ресурсы, чтобы их можно было перевести.
  • Я непонять ваш последний пункт.
...