Не может быть решена или не является полем (упражнения Блокнота с сайта Android Dev) - PullRequest
3 голосов
/ 23 июля 2010

Я выполняю упражнения в блокноте на веб-сайте android dev, в настоящее время работаю над упражнениями (найдено здесь ).

Я подошел к концу урока и обнаружил, что у меня было несколько ошибок в двух основных файлах java, касающихся отношений с R-файлами, таких как setContentView(R.layout.notes_list); и menu.add(0, INSERT_ID,0, R.string.menu_insert);

Я пытался очистить и заново создать R.java безрезультатно.

Это также происходит в решении для упражнения, так что я думаю, что это преднамеренные ошибки или что-то с моим затмением, но я не могу исправить их, любая помощь будет большой благодарностью!

Ответы [ 5 ]

7 голосов
/ 23 июля 2010

Есть ли у вас макет notes_list.xml в вашей папке макета? У вас есть строка с именем menu_insert в вашем strings.xml? Это может быть проблемой, потому что я думаю, что они не дают ВСЕ в учебнике ... Они есть в решении:

<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<ListView android:id="@+id/android:list" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<TextView android:id="@+id/android:empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no_notes"/>
</LinearLayout>

в strings.xml в папке значений:

<string name="menu_insert">Add Note</string>
5 голосов
/ 26 ноября 2010

Я думаю, что вам, возможно, придется быть осторожным с тем, как вы используете команду ctrl-shift-O (для автоматической вставки операторов "import" в верхней части файла). Может случиться так, что вы получите «import android.R;» Заявление в качестве «бонуса». Я закомментировал "импорт android.R;" Скажите, и все было хорошо.

3 голосов
/ 24 марта 2011

Да, главная проблема в том, что Eclipse импортирует android.R, когда нажаты ctrl + shift + o. Другой способ исправить проблему - объявить импорт с полным путем:

import com.android.demo.notepad2.R;
0 голосов
/ 02 января 2013

При жестком кодировании строки не используйте пробел в обоих .xml файлах.то есть @string/a b c неверно, попробуйте @string/a_b_c

0 голосов
/ 11 декабря 2012

Вам следует убедиться, что вы добавили идентификатор в свой LinearLayout в любом используемом вами XML-файле макета.Если это так, то вы должны искать что-то синтаксически неправильное, что помешало бы восстановлению файла R.

Что-то вроде:

android:id="@+id/linearLayout"
...