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 回答