1

私はEclipseでAndroidアプリケーションを書く方法を教えています。R.Javaに次のコンテンツがあります

 public static final class menu {
    public static final int activity_marblez_main=0x7f060000;
}

しかし、メインの Java ファイルでは、R.java のオブジェクトを「見る」ことができないようです。

package com.example.marblez;

import android.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class MarblezMain extends Activity {

//Custom View for Marble View
private MarblezView mView;

//ID for the menu exit option 
private final int ID_MENU_EXIT = 1; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mView = new MarblezView(getApplicationContext(), this);
    mView.setFocusable(true);

    setContentView(R.layout.activity_marblez_main);
}

私の問題は、次の行を書くときです:

 setContentView(R.layout.activity_marblez_main);

activity_marblez_main はまだ見えません。R.Java ファイルをインポートしました。削除して再生成しましたが、「activity_marblez_main」がうまくいきません。なんで?具体的なエラーは次のとおりです。

"activity_marble_main cannot be resolved or is not a field" 

さらに言えば、文字列など、R.java ファイルから他のものを読み取ることもできません。このエラーの原因を知っている人はいますか。髪をかきむしっています。コンピューターが嘘をつかないことは知っていますが、あるべき場所にすべてを見ているのに、プログラムがそれを読み取らないのと同じですか?

4

4 に答える 4

2

この行を削除

import android.R;

プラットフォームの R ファイルをインポートしているため、自分のファイルではなく、次のようにする必要があります。

 import com.example.marblez.R;

(ただし、なしにすることもできます。これは問題ありません)。CTRL- SHIFT- O(文字「o」)を押すと、Eclipse でインポートを再生成できます。プラットフォーム R がインポートされていないことを確認してください。

于 2012-11-18T19:38:01.123 に答える
1

R.java ファイルは eclipse Android 開発ツールによって生成されるため、使用する必要はありません。

重要ですがインポートするときは、あなたのパッケージ名にする必要があります。だから私にとってはimport com.jenxsol.application.R

現在、Android リソースのみを返す android.R をインポートしています。

于 2012-11-18T19:36:39.573 に答える
1

自分のファイルではなく、androids R ファイルをインポートしています。インポートを修正します。

于 2012-11-18T19:36:57.847 に答える
1

最初に: レイアウトを作成しますactivity_marble_main(作成していない場合)。そうであれば、(auto generatedクラスR.java) に自動的に追加されます。

第二に、レイアウトがあなたR.javaに追加されると、名前付きの静的クラス内になりlayoutます(あなたの場合はstatic class menu

このすべての後、インポートを削除android.Rします(インポートがある場合)

id でレイアウトを見つけようとするときは、クラス R( com.yourpackage.R) をインポートします。

于 2012-11-18T19:42:16.203 に答える