5

このファイルには私のレイアウトがあり、このコードに次のエラーが表示されます

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の2番目のエラーstrings.xmlに含めたので、何が間違っていたのかわかりません。誰か助けてください

4

3 に答える 3

8

android:id="@id/question_text_view" は android:id="@+id/question_text_view" である必要があります ボタンと同じ android:id="@id/next_button" は android:id="@+id/next_button" である必要があります

テキストビュー

    <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

ツリー内のビューを一意に識別するために、任意のビュー オブジェクトに整数 ID が関連付けられている場合があります。アプリケーションがコンパイルされると、この ID は整数として参照されますが、ID は通常、レイアウト XML ファイルで id 属性の文字列として割り当てられます。これは、すべての View オブジェクト (View クラスによって定義される) に共通の XML 属性であり、非常に頻繁に使用されます。XML タグ内の ID の構文は次のとおりです。

文字列の先頭にあるアットマーク (@) は、XML パーサーが ID 文字列の残りを解析して展開し、それを ID リソースとして識別する必要があることを示します。プラス記号 (+) は、作成してリソース (R.java ファイル内) に追加する必要がある新しいリソース名であることを意味します

あなたの場合、ボタンのIDはandroid:id="@id/next_button"と考えてください。Android リソース ID を参照しています (想定)。これは存在しません。テキストビューも同様です。したがって、Resource not found エラーが発生します。

詳細については、以下のリンクを確認してください

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

于 2013-05-19T20:11:43.667 に答える
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>
于 2013-05-19T20:07:32.793 に答える