好吧,我有一个问题,我太困惑了,无法正确提出,但现在开始吧:
android 文档中某处指出:
注意:Eclipse 有时喜欢在使用资源的文件顶部添加“import android.R”语句,尤其是当您要求 Eclipse 排序或以其他方式管理导入时。这将导致您的产品中断。留意这些错误的导入语句并删除它们。
我以前注意到过这种行为。第一次是非常糟糕的经历,因为我无法理解发生了什么。无论如何,从那时起,每当我注意到 import android.R;我只是删除它。
我最近的项目使用了最新的 SDK,包括 Master - Detail Activity 向导(创建 fragment )。我在我的 ListFragment 源文件中注意到 import android.R;然后删除它破坏了它,因为它显然需要 android.R 在 onCreate 中使用内置布局“simple_list_item_activated_1”(http://developer.android.com/reference/android/R.layout.html#simple_list_item_activated_1)。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
R.layout.simple_list_item_activated_1,
R.id.text1,
DummyContent.ITEMS));
}
所以我把它加回去,没问题。问题在于包含的 android.R 我看不到我定义的任何 XML 内容。在我的例子中,我尝试使用我在 onCreateOptionsMenu 中创建的菜单。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
//MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_checklist_list, menu);
R.layout.
}
所以我的问题是,如果我不导入 android.R,那么 onCreate 就会崩溃;如果我导入 android.R,那么 onCreateOptionsMenu 就会崩溃。该死的,如果我这样做,该死的,如果我不这样做。 哭泣
:'(
最佳答案
这通常会发生,因为:
- 带有 ADT 的 Eclipse 有一些错误。
- 您正在使用 android.R 文件中的 R 资源。
要解决此问题,请删除 import android.R
语句。现在一些错误会消失,如果错误是因为#2,一些新的错误会出现。滚动到新错误。它们应该是这样的行:
R.layout.simple_list_item_activated_1
现在只需将 android.
作为 R 变量的前缀,错误就会消失。
此外,每次发生与 R 文件相关的错误时,您都应该清理项目。
关于java - 如果我不导入 android.R 会出现语法错误(如果我导入会出现语法错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486253/