【问题标题】:android default xml layout not loadingandroid默认xml布局未加载
【发布时间】:2012-01-03 05:48:05
【问题描述】:

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

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

但是,当我运行我的代码时,ListViewlist_item.xml 一起显示,我将其用于项目中的所有其他 ListView。知道为什么会这样吗?

【问题讨论】:

  • 我已经重新标记了 -android -listview -layout +java,因为您的问题与 Java 包的使用更相关。
  • 我从答案中意识到我的问题并不像我想象的那么清楚。希望编辑有所帮助。

标签: java android android-layout


【解决方案1】:

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

super.onPostExecute();

它位于方法的末尾,因此继承的布局胜过我想要的布局。

【讨论】:

    【解决方案2】:

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

    如果你显式提供了一个带有完整包名的类名,你也不需要导入它。

    这是因为您在使用 android.R 和生成的 R 类时经常发生来自不同包的相同类名的情况。

    【讨论】:

      【解决方案3】:

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

      That post 可能有用。

      评论更新

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-09
        相关资源
        最近更新 更多