3
root以外のパッケージでリソース要素を使用する場合は、自分でR class
(Android Rクラスではない)をインポートする必要があります。例えば、非ルートパッケージでリソースを使用するとRクラスをインポートする必要があるのはなぜですか?
ルートパッケージcom.example.test
とファイルMain.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
R class
をインポートする必要はありません。私が非ルートパッケージにルートからJavaファイルを移動するとき
は、私はそこSomething.java
に別のパッケージ、com.example.test.something
と新しいクラスを作成すると、私はR.class
import com.example.test.R;
//...other code...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
自分自身をインポートする必要がありこれが自動的に行われます。
なぜこれが重要なのですか?
'R'クラスはアプリケーションパッケージ' com.example.test'にあります。パッケージ宣言をチェックアウトしてください。他のパッケージから参照する場合は、他のクラスと同じように、そのパッケージをインポートするか、その名前を完全修飾する必要があります。 –
@PhilippReichartありがとう!私は答えとしてマークすることができるように返信を投稿できますか? – sandalone
あなたは、乾杯:) –