Идентификатор ресурса Android для кнопок, не созданных в R.id после редактирования атрибутов кнопок. Как я могу это исправить?

#android #android-layout #android-activity #android-studio

#Android #android-layout #android-активность #android-studio

Вопрос:

Я пытаюсь создать простое приложение с двумя кнопками, текстовым полем и двумя линейными макетами для практики. Я пытаюсь создать идентификаторы ресурсов для кнопок. Вот мой activity xml (activity_quiz.xml ):

 <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:id="@ id/true_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/true_button" />
    <Button
        android:id="@ id/false_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/false_button"/>
</LinearLayout>
  

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

     public static final class id {
    public static final int action_bar=0x7f07001c;
    public static final int action_bar_activity_content=0x7f070014;
    public static final int action_bar_container=0x7f07001b;
    public static final int action_bar_overlay_layout=0x7f07001f;
    public static final int action_bar_root=0x7f07001a;
    public static final int action_bar_subtitle=0x7f070023;
    public static final int action_bar_title=0x7f070022;
    public static final int action_context_bar=0x7f07001d;
    public static final int action_menu_divider=0x7f070015;
    public static final int action_menu_presenter=0x7f070016;
    public static final int action_mode_close_button=0x7f070024;
    public static final int action_settings=0x7f07003c;
    public static final int activity_chooser_view_content=0x7f070025;
    public static final int always=0x7f07000f;
    public static final int beginning=0x7f07000a;
    public static final int checkbox=0x7f07002d;
    public static final int collapseActionView=0x7f070011;
    public static final int default_activity_button=0x7f070028;
    public static final int dialog=0x7f070012;
    public static final int disableHome=0x7f070008;
    public static final int dropdown=0x7f070013;
    public static final int edit_query=0x7f070030;
    public static final int end=0x7f07000c;
    public static final int expand_activities_button=0x7f070026;
    public static final int expanded_menu=0x7f07002c;
    public static final int home=0x7f070017;
    public static final int homeAsUp=0x7f070005;
    public static final int icon=0x7f07002a;
    public static final int ifRoom=0x7f07000e;
    public static final int image=0x7f070027;
    public static final int listMode=0x7f070001;
    public static final int list_item=0x7f070029;
    public static final int middle=0x7f07000b;
    public static final int never=0x7f07000d;
    public static final int none=0x7f070009;
    public static final int normal=0x7f070000;
    public static final int progress_circular=0x7f070018;
    public static final int progress_horizontal=0x7f070019;
    public static final int radio=0x7f07002f;
    public static final int search_badge=0x7f070032;
    public static final int search_bar=0x7f070031;
    public static final int search_button=0x7f070033;
    public static final int search_close_btn=0x7f070038;
    public static final int search_edit_frame=0x7f070034;
    public static final int search_go_btn=0x7f07003a;
    public static final int search_mag_icon=0x7f070035;
    public static final int search_plate=0x7f070036;
    public static final int search_src_text=0x7f070037;
    public static final int search_voice_btn=0x7f07003b;
    public static final int shortcut=0x7f07002e;
    public static final int showCustom=0x7f070007;
    public static final int showHome=0x7f070004;
    public static final int showTitle=0x7f070006;
    public static final int split_action_bar=0x7f07001e;
    public static final int submit_area=0x7f070039;
    public static final int tabMode=0x7f070002;
    public static final int title=0x7f07002b;
    public static final int top_action_bar=0x7f070020;
    public static final int up=0x7f070021;
    public static final int useLogo=0x7f070003;
    public static final int withText=0x7f070010;
}
  

Я использую Android Studio и отредактировал activity xml в версии 23 и только что обновлен до версии 23.0.1. Если есть какая-либо другая информация, которая может помочь, пожалуйста, дайте мне знать.

Ответ №1:

Похоже, что ваши имена идентификаторов ресурсов «true_button» и «false_button», однако я бы не стал искать для них класс R, поскольку он автоматически генерируется при каждом создании проекта. Я бы рекомендовал очистить ваш проект и перестроить, который должен сгенерировать новый класс R для вашего проекта и добавить эти идентификаторы в класс R.

Я также рекомендую Eclipse с плагином ADT, но я понимаю, подходит ли вам Android Studio. Я надеюсь, что это поможет, я сталкивался с этой проблемой раньше и читал об этом в нескольких книгах.

Комментарии:

1. Спасибо, я попробую это. Обычно я использую eclipse для других проектов Java, но я новичок в Android, и у Android Studio не было тех же проблем, что у eclipse adt bundle с rev 23. Вероятно, я снова попробую eclipse, поскольку версия 23.0.1 вышла.

2. Нет проблем. Я несколько раз сталкивался с этой проблемой, и мне приходилось повторять свои шаги. По иронии судьбы, недавно я решил взять книгу, в которой упоминается это в первой главе, в которой многие книги никогда не затрагивают эту тему. Android на практике, опубликованный Manning. Я настоятельно рекомендую это.