1

好的,我有一个问题我很困惑,无法正确提问,但这里是:

在android文档的某处它指出:

注意:Eclipse 有时喜欢在使用资源的文件顶部添加“import android.R”语句,尤其是当您要求 eclipse 对导入进行排序或以其他方式管理导入时。这将导致您的制造中断。留意这些错误的导入语句并删除它们。

我以前注意到这种行为。第一次是一次非常糟糕的经历,因为我无法理解发生了什么。无论如何,从那时起每当我注意到 import android.R; 我只是删除它。

我最近的项目使用了最新的 SDK,包括 Master - Detail Activity 向导(创建片段)。我注意到在我的 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 就会中断。如果我这样做该死,如果我不这样做该死。 哭泣

:'(

4

1 回答 1

5

这通常会发生,因为:

  1. 带有 ADT 的 Eclipse 有一些错误。
  2. 您正在使用 android.R 文件中的 R 资源。

要解决此问题,请删除该import android.R语句。现在会出现一些错误,如果错误是因为#2,就会出现一些新的错误。滚动到新错误。它们应该是这样的行:

R.layout.simple_list_item_activated_1

现在只需为该 R 变量添加前缀android.,错误就会消失。

此外,每次发生与 R 文件相关的错误时,您都应该清理项目。

于 2012-07-14T18:32:15.770 回答