我正在关注Android教程,无法让hello world工作。我遇到与此this SO question中描述的问题相同的问题,我尝试使用this SO answer作为补救措施。然而它没有用。
我仍然得到activity_main cannot be resolved
(第12行)和main cannot be resolved
(第19行)。
我只是启动了一个新的Android项目,我的MainActivity.java
看起来像这样(请注意我使用android.R. ...
:
package com.arandomtesteinstein.testandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(android.R.layout.activity_main); /* <----- Error in line 12 */
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(android.R.menu.main, menu); /* <----- Error in line 19 */
return true;
}
}
我做错了什么?
编辑:
好的,只是为了澄清,我正在完全(据我所知)official android tutorial。当我点击“运行”时,eclipse会抛出上面提到的错误。然后我找到this SO answer(上面的第二个链接)并试图遵循它,但它仍然无效。严格来说,我不是在开发或做任何聪明或转储,我只是想按照教程的最初步骤进行操作
答案 0 :(得分:0)
前缀android.
您正在寻找android资源中名为activity_main的布局,这可能不存在。变化
setContentView(android.R.layout.activity_main);
与
setContentView(R.layout.activity_main);
答案 1 :(得分:0)
是的,我也面临同样的问题,当时我遇到了这个问题,因为gen文件夹(R.java)中没有文件。 清理项目以在该文件夹中生成这些文件。然后运行教程中提到的项目。它可能适合你。
答案 2 :(得分:0)
我有一次类似的问题,结果发现我不小心删了
public static final class layout {
public static final int activity_main=0x7f030000;
}
public static final class menu {
public static final int main=0x7f070000;
}
来自R.java文件的。
答案 3 :(得分:0)
从活动的导入中删除import android.R;
。并从生成的包中导入R
。
或使用;
setContentView(<your_package_name_at_manifest>.R.layout.activity_main);
而不是
setContentView(android.R.layout.activity_main);
修改:您必须使用<your_package_name_at_manifest>.R
课程来引用您的资源(通过导入或直接引用)。如果此类在gen源文件夹下不可见,则表示您未成功构建项目。可能的原因是项目的res文件夹下的错误。