Ресурс не найден при использовании '@string/value' в layout.xml

просто начал программировать андроид, и я пытаюсь создать простой xml файл, но, похоже, у него возникла проблема с android:text=@string/..

У меня есть эта ошибка:

error: Ошибка: ресурс не найден, который соответствует указанному имени (в 'text' со значением '@string/false_button').

Для каждой из строк.

Код:

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical">
 <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="24dp" android:text="@string/question_text">
 <linearlayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal">
 <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/true_button">
 </button></linearlayout></textview></linearlayout><button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/false_button"><code> 
 

</code></button>
8 ответов

Вам нужно иметь ресурсы, которые вы хотите ссылаться в своем макете в strings.xml под res/values/

<!--?xml version="1.0" encoding="utf-8"?-->
<resources>
 <string name="true_button">True Button</string>
 <string name="false_button">False Button</string> 
</resources>

@string/true_button ссылается на ресурс в strings.xml

Вы также можете иметь строчную строку, но не рекомендуется

android:text="True Button"/>


Вам просто нужно добавить это в свой класс Strings.xml

просто добавьте <string name="false_button">False Button</string> в свой файл strings.xml, чтобы она выглядела так:

<!--?xml version="1.0" encoding="utf-8"?-->
 <resources>

 <string name="false_button">False Button</string> 
 </resources>


убедитесь, что в res/values/

у вас есть все ресурсы, присутствующие здесь следующим образом

<!--?xml version="1.0" encoding="utf-8"?-->
<resources>
 <string name="true_button">True</string>
 <string name="false_button">False</string> 
</resources>

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

android:text="True "/> android:text="False"/>


Все эти ответы, относящиеся к добавлению строки в файл string.xml имеют смысл и работают, но не могут решить исходную проблему: эта книга ("Big Nerd Ranch: Android Programming") проходит эти шаги по одному, упоминает ссылку на строку в XML файле макета, но не упоминает о добавлении в файл strings.xml. Потерпеть неудачу.


Нажмите на папку res, затем нажмите на значения, а затем откройте файл strings.xml и добавьте следующий контент.

<string name="true_button">whatever text you want to write to your button</string>
<string name="false_button">whatever text you want to write to your button</string>

и сохраните файл. Затем очистите проект, нажав "Проект" → "Очистить", а затем запустите его снова.

Надеюсь, что это поможет вам.


Убедитесь, что вы создали строковое значение с именем false_button в string.xml

<string name="false_button">false</string>

или просто укажите имя в кавычках "" в атрибуте android:text

<button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="true_button">
 </button><button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="false_button"> </button>


В своем проекте Android найдите каталог res. Откройте его и внутри него найдите каталог values. В значениях, откройте strings.xml и проверьте, есть ли в flase_button значение flase_button. Если нет, вы можете добавить новое значение, используя имя как false_button и значение, которое вы хотите отобразить на кнопке.

Когда вы открываете файл strings.xml в среде IDE, например eclipse, вы можете переключать представления файла.xml, выбрав соответствующую вкладку, указанную в нижней части экрана вашего затмения. Выберите strings.xml и измените текущий файл strings.xml на

<!--?xml version="1.0" encoding="utf-8"?-->
<resources>
 <string name="app_name">app</string>
 <string name="false_button">FALSE</string>
</resources>

Надеюсь, это было полезно.


добавьте в файл string.xml следующую строку:

<string name="true_button">true</string>
 <string name="false_button">false</string>

licensed under cc by-sa 3.0 with attribution.