3

非ルート パッケージでリソース要素を使用する場合は常に、独自のR class(Android R クラスではない) をインポートする必要があります。例えば、

ルート パッケージcom.example.testとファイルMain.java

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

インポートする必要はありませんR class

別のパッケージを作成com.example.test.somethingし、そこに新しいクラスを作成するときは、自分のパッケージSomething.javaをインポートする必要がありますR.class

import com.example.test.R;

//...other code...

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

これは、Java ファイルをルートから非ルート パッケージに移動すると自動的に発生します。

なぜこれが重要なのですか?

4

1 に答える 1

8

Rクラスはアプリケーション パッケージ内に存在しますcom.example.test。そのパッケージ宣言を確認してください。他のパッケージから参照したい場合は、他のクラスと同様に、それをインポートするか、その名前を完全修飾する必要があります。

于 2012-04-17T07:26:25.900 に答える