语法错误,如果我不导入android.R(如果我这样做语法错误)

时间:2012-07-14 18:23:47

标签: java android eclipse android-fragments

好的,我有一个问题,我很困惑,不能正确地问,但这是一个去:

在android文档中的某处说明:

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

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

我最近的项目使用了最新的SDK,包括Master - Detail Activity向导(创建片段)。我注意到在我的ListFragment源文件中导入android.R;然后删除它打破了它,因为它显然需要android.R在onCreate中使用内置布局“simple_list_item_activated_1”(http://developer.android.com/reference/android/R.layout.html#simple_list_item_activated_1)。 / p>

@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被打破。如果我这样做该死的,如果我不这样做该死的。 哭声

:'(

1 个答案:

答案 0 :(得分:5)

这通常会发生,因为:

  1. 带有ADT的Eclipse有一些错误。
  2. 您正在使用android.R文件中的R资源。
  3. 要解决此问题,请删除import android.R语句。现在会出现一些错误,如果错误是因为#2,那么会出现一些新错误。滚动到新错误。它们应该是:

    R.layout.simple_list_item_activated_1
    

    现在只需将android.加到该R变量前面,错误就会消失。

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