我有这行代码:
Button button = (Button) findViewById(R.id.view);
出现以下错误:
id cannot be resolved or is not a field
该错误是合乎逻辑的,因为我还没有什么东西需要R.java中的Id,因此ID丢失了。这将在我执行代码时生成(因为我在onCreate()上创建了按钮,并且它们获得了Id)。但在解决问题之前,Eclipse不会让我跑。因此,将这行代码添加到R.java是安全的:
public static final class id {
}
或者可能还有另一种瞎子?
答案 0 :(得分:1)
如果您在onCreate
中创建按钮,则不会将其添加到资源中。从您构建APK的那一刻起,资源就会得到修复。
当然,如果您创建了按钮,那么您已经拥有Button
对象,无论如何都不需要在资源中查找它?
答案 1 :(得分:0)
没有。您添加到R.java的任何内容都将在您下次构建时删除。这是一个自动生成的文件。
答案 2 :(得分:0)
你不能追加R.java。但是如果你想要添加任何东西,你可以创建自己的另一个文件(比如Rcustom.java),保留你的东西并将它导入到你使用它的任何地方。
答案 3 :(得分:0)
findViewById()
设置或用setContentView()
充气的XML布局时,会使用 LayoutInflater
。
因此,如果您的main.xml布局中有Button
,其ID为"请查看",您将在Activity
中执行以下操作:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.view);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Respond to click here
}
});
}