4

http://developer.android.com/training/basics/firstapp/building-ui.html

このチュートリアルに従っていますが、「R を変数に解決できません」という 2 つのエラーがあります。過去にAndroidアプリ(簡単なもの)を作成したことがありますが、インポートRステートメントがあるかどうか(私は持っていません)と、プロジェクトがビルドされる前にクリーンアップされているかどうかを確認することで、この問題が修正されたことを覚えていますもう一度(私はそれをきれいにしましたが、それでもエラーが発生します)。私は何をすべきか途方に暮れています。ありがとう!

※あと、170ヒットの同タイトルのスレッドを見たのですが、「インポートR文を削除する」という解決策は当方の問題には当てはまりません(思いつきません)よろしくお願いします

すべてのコードは上記のリンクからそのままですが、便宜上ここにあります

activity_my_first.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">
    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send" />
</LinearLayout>

MyFirstActivity.java

package com.example.myfirstapp;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;

public class MyFirstActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_first);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_my_first, menu);
        return true;
    }


}

文字列.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">My First App</string>
    <string name="edit_message">Enter a message</string>
    <string name="button_send">Send</string>
    <string name="menu_settings">Menu Settings</string>
</resources>

編集: プロジェクトをクリーンアップすると、コンソールに次のメッセージが表示されます。

[2012-06-29 11:12:38 - MyFirstApp] W/ResourceType(6140): 不正な XML ブロック: ヘッダー サイズ 91 または合計サイズ 0 がデータ サイズ 0 より大きい [2012-06-29 11:12:38 - MyFirstApp] C:\Users\zhong\workspace\eclipse\MyFirstApp\res\menu\activity_my_first.xml:2: エラー: エラー: 指定された名前に一致するリソースが見つかりません (「タイトル」で値「@string/menu_settings」 )。

編集: レイアウト xml ファイルに行を追加しました<string name="menu_settings">Menu Settings</string> クリーニング プロジェクト エラーを修正しましたが、2 つの R エラーからプロジェクトを実行できません。

4

12 に答える 12

7

私は同じ例に取り組んでおり、同じ(または非常に似た)問題がありました。

最後に、manifest.xml に小さな赤い x があることに気付きました。案の定、それはこれについて不平を言っていました:

android:label="@string/title_activity_hello_world" >

だから私は追加しました:

<string name="title_activity_hello_world">Hello World</string>

strings.xml に追加すると、機能するようになりました。

于 2012-07-06T20:44:30.010 に答える
3

チュートリアルに従っているときに同じ問題が発生しました。プロジェクトをクリーンアップしたり、インポートをクリーンアップしても問題は解決しませんでした。

問題の (単純な) 解決方法: Eclipse を終了し、再起動しました。

于 2012-07-18T22:49:42.177 に答える
1

android:text="@string/button_send"
エラーが発生しました:No resource found that matches the given name (at 'text' with value '@string/button_send').

チュートリアルを使用してエラーを解決しようとしました。しかし、チュートリアルでは、必要なすべての行を 1 つずつ記述するように指示されていません。"<string name="button_send">Send</string>"なのでstrings.xmlに書き忘れてます。

前の行を追加すると、エラーが消えます! これは、このスレッドの元の問題に似ていると思います。

したがって、与えられたチュートリアルから行全体をコピーした場合、それは起こらなかったかもしれませんが、our-self と入力するのが最良の学習方法だと思います。

于 2012-09-16T21:16:21.957 に答える
1

私は解決策を見つけました:

そこにあるファイルproject->res->menu を開き、次の行を削除するよりもあなたに行きます:XML

android:title="@string/menu_settings"

問題のセクションで同じ警告が3時間表示された後、削除して動作を開始しました。

title「at with value @string/menu_settings」と読んでも意味があります。

于 2012-09-26T00:07:21.390 に答える
1

2 考えられること

Android マニフェストで指定されたパッケージ名は、Java ファイルで指定されたものと同じではありません。

または、IDE が gen/ フォルダーに R.java ファイルを生成していません。(エラーにもかかわらず) ビルドを再試行すると、通常はクリアされます。

基本的に、R.java ファイルは同じパッケージ内に生成されるため、単に R として参照できます。

于 2012-06-29T02:20:30.803 に答える
0

プロジェクトを右クリックし、[Androidツール]>[サポートライブラリの追加]>[Androidサポートライブラリ、リビジョン11]>[インストール]を選択します

于 2013-01-11T19:05:30.550 に答える
0

エラーがないことを確認してください

1- プロジェクト フォルダー 2- Eclipse の問題ビュー 3- コンソール 4- イメージのようなエラー ログ ここに画像の説明を入力

于 2012-06-29T02:53:16.940 に答える
0

必ず確認する必要があります

  1. プロジェクトをきれいにする Project-->Clean
  2. /res ディレクトリにエラーが含まれていない (一部のファイルはファイル エクスプローラーに赤いアイコンで表示されます)
  3. インポートにこの行が含まれていませんimport android.R;
  4. AndroidManifest.xml で、属性 package の値が正しいことを確認します。<manifestxmlns:android="http://schemas.android.com/apk/res/android" package="your.correct.package.name"
于 2012-06-29T03:02:44.107 に答える
0

私の場合、問題は 64 ビット Linux を使用していて、必要な 32 ビット ライブラリがインストールされていなかったため、ビルド ツールが R.java を生成できなかったことです。

このコマンドを実行してからプロジェクトをクリーニングすると、問題が修正されました。

sudo apt-get install ia32-libs
于 2013-07-09T13:46:18.617 に答える
0

これで修正されました: https://stackoverflow.com/a/3259974/1538785

Eclipse は、理由もなく Java ファイルに import 行を追加するのが好きなようです。Java ファイルに移動し、ctrl+shift+o を押すと、すべてのインポート ステートメントが表示されます。import andriod.R という行を削除します

于 2012-07-19T18:36:43.547 に答える
0

最初のチュートリアルを実行しようとして同じエラーが発生しました。アプリを実行するために、 MainActivity.java を編集して、次のようにしました

package com.example.myfirstapp;

android.app.Activity をインポートします。android.os.Bundle をインポートします。

public class MainActivity extends Activity {

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

}

}

于 2014-02-17T15:13:17.883 に答える
0

Linuxボックスでデフォルトのダウンロードを実行している場合は、sdk/build-tools/android-xyz/*の実行可能ファイル(aaptなど)が実行可能であることを確認してください...

于 2014-01-12T22:31:07.467 に答える