2013-03-13 3 views
0

Возможно, мои навыки работы с Google не самые большие, но всякий раз, когда я говорю об этой проблеме, я только нахожу решения, когда весь R-файл не создается, что не является моей проблемой , Все остальное генерируется просто отлично, однако в R нет идентификатора, поэтому я не могу ссылаться на представления в моем XML. Я уже попробовал project-> clean и перезапустил сервер adb и eclipse, ни к чему. Вся помощь очень ценится. Ниже мой код.R.java не генерирует R.id в Android

public class MainMenu extends Activity { 

    /* 
    * Class member variables 
    */ 
    private Button mMicrophoneButton; 
    private ListView mMessageList; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_menu_layout); 
     setWidgets(); 
    } 

    private void setWidgets() { 
     this.mMicrophoneButton = (Button) findViewById(R.id.bMicrophone); 
    } 

} 

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainMenu" 
    tools:ignore="HardcodedText" > 

    <ScrollView 
     android:id="@+id/svMessageView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="9" > 

     <TextView 
      android:id="@+id/tvTest" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="test" /> 

    </ScrollView> 

    <Button 
     android:id="@+id/bMicrophone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_gravity="center" 
     android:minHeight="30dp" 
     android:text="Speak Now" /> 

</LinearLayout> 
+1

Возможно, вы импортируете неправильное R – Blackbelt

+0

Это единственное R в моей рабочей области. Я понимаю, что вы имеете в виду, но я не думаю, что это так. Тем более, что мне никогда не приходилось явно импортировать R в мои действия в других моих проектах Android. Eclipse только подчеркивает «id» из «R.id.bMicrophone» красным цветом. И я проверил R, все там, кроме id вложенного класса. – marchese29

+0

Я не знаю, что вы имеете в виду здесь, это новая вещь? Что я должен использовать фактический оператор импорта для R? Eclipse распознает R, когда я использую его в MainMenu.java, поэтому я не думаю, что мне нужно. Тем более, что мне никогда не приходилось раньше. – marchese29

ответ

4
  • Убедитесь, что все ваши файлы под Рез строите правильно. Даже если ваш R-файл уже сгенерирован, он не будет обновляться, если у вас есть какие-либо ошибки.
  • Если вы ссылаетесь на любые проекты библиотеки, у вас могут возникнуть проблемы, если в этом проекте библиотеки есть ошибки (src или res).
  • В eclipse выполните проект -> Очистите свой проект и все проекты библиотек, на которые он ссылается.
  • Удалить папку gen и позволить eclipse автоматически генерировать ее.
+0

Да, все строит правильно, если я не ошибаюсь. Под этим я подразумеваю, что нет красных x в любом из моих файлов внутри res. Единственные файлы, которые я редактировал в проекте, - это те, которые я показываю в своем вопросе, и я предполагаю, что все автогенерируемые вещи не имеют ошибок. – marchese29

+0

Я отредактировал свой ответ, чтобы добавить еще несколько деталей. – Sababado

+0

Хммм ... это сработало. Просто удалите папку gen, а затем заставьте затмение создать ее. Работал как шарм. – marchese29

0

вам нужно сохранить файл XML перед чисткой проекта идентификаторов, чтобы показать в R.java

+0

Этот тип ответов лучше подходит для комментариев. – xbello

0

Я получил ту же ошибку, но я получил это решается путем очистки и восстановления проекта.

На самом деле, мы можем добавить Id также вручную. Я сделал это пару раз.

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

  • Откройте Android Studio
  • Перейти к сборке
  • Затем Clean проекта
  • после этого Rebuild проект

Это будет работать определенно.

Смежные вопросы