Откуда создайте R.id?

В некотором коде мы испытываем, происходя из различных учебных руководств, мы заканчиваем тем, что пропустили R.id, который должен быть сгенерирован в R.java, очевидно. Мы можем включить его (по аналогии с другими "первыми" проектами Android, которые мы сделали), но поскольку этот файл автоматически генерируется, что-либо, что мы действительно любим, это просто перезаписывается в конечном счете.

public static final class id
{
   public static final int Button01=0x7f060004;
   .
   .
   .
}

Была ли конструкция для помещения в strings.xml, main.xml, и т.д. который заставляет это быть сгенерированным?

(Да, мы - общие новички. Извините.)

Спасибо за любую справку можно дать,

Russ Bateman

1
задан Russ Bateman 29 July 2010 в 15:29
поделиться

3 ответа

R.java автоматически создается Eclipse. Если он не построен, это означает, что у вас, вероятно, есть ошибка где-то в ваших XML-файлах или ресурс с недопустимым именем.
Иногда это просто Eclipse, который делает странные вещи, в этом случае вы можете попробовать:
Проект> Очистить> весь проект Тогда позвольте Eclipse работать.
Иногда это решает проблему. В противном случае весьма вероятно, что где-то в ваших ресурсах есть ошибка.
Для создания этого файла Eclipse собирает идентификаторы, которые вы объявили в своих XML-файлах с помощью @ + id, а также имена макетов, имена изображений, имена строк, ...

0
ответ дан 2 September 2019 в 22:37
поделиться

Допустим, у меня есть XML-файл со следующим содержанием:

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  >
 <ListView android:id="@+id/ListView01" 
  />
</RelativeLayout>

Я сохраняю его в res / layout /. Затем автоматически создается R.id.ListView01.

Возможно, вы захотите взглянуть на приложение Notebook Sample и на то, как оно организовано. По крайней мере, так я познакомился с организацией андроидов.

2
ответ дан 2 September 2019 в 22:37
поделиться

Похоже, что project / res / layout / main.xml содержит конструкции, которые приводят к генерации id в ] R.java . (Я не ограничиваю их источник только этим XML-файлом.)

Особо ищите android: id в различных виджетах (я думаю, они называются), например TableLayout , TextView , EditText и т. Д. Будет соответствующий

public static final class id
{
   public static final int x=0x7f05006;
   public static final int y=0x7f05000;
   public static final int z=0x7f0500c;
   .
   .
   .
}

, где x, y, z соответствуют ( TableLayout , TextView , EditText и т. Д.) Идентификатор, закодированный сразу после конструкции «@ + id /» в XML-файле (а инициализированное значение в R.java генерируется волшебным образом - -вы не должны об этом беспокоиться).

Спасибо всем, кто внес свой вклад.

0
ответ дан 2 September 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: