有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 安卓默认xml布局未加载

我正在尝试使用一个内置的安卓布局安卓.R.layout.simple_list_item_multiple_choice创建一个带有复选框的ListActivity。在后台,我在私有AsyncTask中获取列表,然后像这样调用适配器:

listActivity.setListAdapter(new ArrayAdapter<String>(listActivity, 
    安卓.R.layout.simple_list_item_multiple_choice, mDisplayList));

但是,当我运行代码时,ListViewlist_item.xml一起显示,我在项目中的所有其他列表视图中使用它。知道为什么会这样吗


共 (3) 个答案

  1. # 1 楼答案

    当您以这种方式使用android R:android.R.layout...时,在类名R之前已经有了包android

    如果您显式地提供了一个包含完整包名的类名,那么也不需要导入它

    在这种情况下,您从不同的包中拥有相同的类名,这在您使用android时经常发生。R和生成的R类

  2. # 2 楼答案

    您不需要导入android.R.layout,因为您使用android.R.layout.simple_list_item_multiple_choice显式地调用它

    That post可能有用

    根据评论更新

    很难找出问题所在。您是否尝试清理项目并重建?有时候,如果你不清理项目并重新生成gen文件,android int-id就会做一些奇怪的事情。但搞乱android内部引用的可能性很小……如果它不起作用,你可能会在其他地方有另一个污染性的setListAdapter,但如果没有完整的项目,很难说

  3. # 3 楼答案

    没有使用正确的xml布局的原因是因为我的AsyncTask扩展了使用另一个xml布局的(其他)自定义AsyncTask,我在这一行中离开了

    super.onPostExecute();
    

    在方法的末尾,继承的布局胜过了我想要的布局