2011-11-21 102 views
1

我想使用其中一个内置的android布局android.R.layout.simple_list_item_multiple_choice复选框使ListActivity。有关背景,我在获取私人AsyncTask列表中,然后调用适配器这样的:android默认xml布局不加载

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

然而,当我跑我的代码,该ListView显示有list_item.xml,我使用所有这我的项目中的其他ListViews。任何想法为什么发生这种情况?

+0

由于您的问题与Java程序包使用情况更相关,因此我已重新使用-android -listview -layout + java。 – Renaud

+0

我从答案中意识到我的问题并不像我以前那样清楚。希望编辑有帮助。 – caltangelo

回答

1

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

super.onPostExecute(); 

这是在方法的结尾,所以继承的布局超过了我想要的。

0

由于您明确使用android.R.layout.simple_list_item_multiple_choice来调用它,因此不需要导入android.R.layout

That post可能有用。

从评论更新

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

0

当你用这种方式使用android R:android.R.layout...比你已经拥有的包类android类名前R

如果您明确提供了一个包含完整包名称的类名称,则不需要导入它。

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