错误:找不到与给定名称匹配的资源

时间:2013-05-19 20:01:14

标签: android

在此文件中,我的布局会在此代码中显示以下错误

error: Error: No resource found that matches the given name (at 'id' with value '@id/question_text_view').
error: Error: No resource found that matches the given name (at 'id' with value '@id/next_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:id="@id/question_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="24dp"
        />
    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        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>
        <Button 
        android:id="@id/next_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/next_button"
        />
</LinearLayout>

这是我的strings.xml

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

        <string name="app_name">GeoQuiz</string>
        <string name="true_button">True</string>
        <string name="false_button">False</string>
        <string name="correct_toast">Correct</string>
        <string name="next_button">Next</string>
        <string name="incorrect_toast">Incorrect</string>
    <string name="action_settings">Settings</string>
    <string name="question_founder">Frank Reed Horton Founded APO on december 25 1947</string>
    <string name="question_chief">Willy Wonka was known as a cheif</string>
    <string name="question_lady">The first lady that became president in APO was Mary Katz</string>
    <string name="question_president">Our current President of the Delta Rho chapter is  john dolan</string>
<string name="question_alphabets">Alpha, Beta, Gamma, Delta, Epsilon, Eta, Zeta</string>
</resources>

我知道在字符串上知道了question_text_view但是我确实在我的活动中创建了一个包含所有问题的数组         mQuestionTextView =(TextView)findViewById(R.id.question_text_view);         int question = mQuestionBank [mCurrentIndex] .getQuestion();         mQuestionTextView.setText(问题); mQuestionBank是我问的所有问题的数组 getQuestion()是我获取问题的getter方法

和next_button的第二个错误我不知道我做错了什么,因为我把它包含在strings.xml中 任何人都可以帮助我

3 个答案:

答案 0 :(得分:8)

android:id =“@ id / question_text_view”应该是android:id =“@ + id / question_text_view”同样适用于按钮android:id =“@ id / next_button”应该是android:id =“@ + id / next_button“

的TextView

    <TextView
    android:id="@+id/question_text_view" //  missing + in your xml code
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="24dp"
    />

按钮

    <Button 
    android:id="@+id/next_button"  // missing + in your xml code
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/next_button"
    /> 

ID

任何View对象都可以有一个与之关联的整数ID,以唯一标识树中的View。编译应用程序时,此ID被引用为整数,但ID通常在布局XML文件中作为字符串在id属性中指定。这是所有View对象(由View类定义)共有的XML属性,您将经常使用它。 XML标记内的ID语法为:

字符串开头的at符号(@)表示XML解析器应解析并扩展ID字符串的其余部分,并将其标识为ID资源。加号(+)表示这是一个新的资源名称,必须创建并添加到我们的资源(在R.java文件中)

在你的情况下,你认为按钮的id是android:id =“@ id / next_button”。您正在引用Android资源ID(假设)。这不存在。 textview也是如此。因此,您会收到Resource not found错误。

有关更多信息,请查看以下链接

http://developer.android.com/guide/topics/ui/declaring-layout.html

答案 1 :(得分:0)

您应该注意视图的ID。在TextView和Button视图中,您忘记了ID属性中的“+”。据我所知,您尝试使用ID引用另一个视图。如果您使用的是“+”,则为该视图创建一个新ID。

修正版:

<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:id="@+id/question_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="24dp"
        />
    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        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>
        <Button 
        android:id="@+id/next_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/next_button"
        />
</LinearLayout>

答案 2 :(得分:0)

也许文件夹路径太长 比如我的&#34; E:\ Project \ Mobile \ SixworldGit \ sixworld \ projects \ sixworld \ SW_Vietnam \ 2.3.2.0.20160711_Android_MoboSDKAll_lucgioi_20160711_1805 \ 2.3.2.0.20160711_Android_MoboSDKAll \ MoboSDK \ reference \ MoboSDKAll \ res \ drawable&#34;