Hardcoded string "Button", следует использовать ресурс @string

Я новичок в разработке приложений для Android и использую язык Java. Моя проблема заключается в том, что каждый раз, когда я создаю TextView или Button, появляется треугольник с восклицательным знаком под ними. и когда я нажимаю на него, я увидел сообщение с сообщением:

hardcoded string "Button", следует использовать ресурс @string

У меня есть два действия, в моей основной деятельности есть кнопка, которая, когда вы нажимаете на нее, вы войдете во вторую активность. Но когда я перехожу к main.java, чтобы создать код для кнопки. Всегда указанная выше ошибка. Я думаю, что eclipse не может найти идентификатор моей кнопки, и для моего TextView у них одинаковое сообщение об ошибке.

Вот код, который я сделал:

Button b = FindViewById(R.id.button1);

Я также добавляю:

Button b = (Button) FindViewById(R.id.button1);

Я использую новейшую классику eclipse и проблему ADT. Платформа - это Android 4.1 API 16.

Ответ 1

Вы не должны жестко кодировать "текст" в виджетах, используя для этого строки, например, строки, т.е. строки в файле strings.xml. Объявите "текст", который вы хотите отобразить в виде строки в файле strings.xml, и получите доступ к нему, используя @string/your_string_name в файле макета.

Ответ 2

Main.xml file (The xml file which relates to the main activity)

Обратите внимание на идентификатор кнопки, округленной красным цветом. Вы должны использовать этот идентификатор, когда хотите вызвать его в методе, например,

Button b = (Button) FindViewById(R.id.button1);

Кроме того, проверьте, соответствует ли ваш графический макет изображению, которое я предоставил.

Graphical view of the Main.xml file

Просто попробуйте свой код с этими изменениями. Ваш main.java будет выглядеть следующим образом.

Main.java file