我有一个带有自定义适配器的Listview。我正在获得标准
Your content must have a ListView whose id attribute is 'android.R.id.list'
错误,但是,我的ListView设置了android:id="@android:id/list"
值。这真的是我的头脑。任何建议?
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/Layout">
<ListView android:id="@android:id/list" style="@stlye/ListMenuView"></ListView>
</LinearLayout>
styles.xml
<resources>
<style name="Layout" parent="@android:Theme">
<item name="android:background">@drawable/background</item>
<item name="android:scaleType">fitXY</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:orientation">vertical</item>
</style>
<style name="ListMenuView">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:cacheColorHint">#00000000</item>
</style>
</resources>
我的onCreate方法:
/** Called when the activity is first created. */
@Override
public void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
setContentView( R.layout.main );
m_menu = new ArrayList<ListItemData>();
populateMenu();
this.m_adapter = new ListMenuAdapter( this, R.layout.list_item, m_menu );
setListAdapter(this.m_adapter);
}
任何想法?
答案 0 :(得分:24)
android:id="@android:id/list"
完美无缺,我的问题是我有一个Splash屏幕继承了一个基类,该基类继承了 ListActivity 并且没有为splash定义 ListView 屏幕活动。我已将SplashScreen改为仅继承Activity。一切都按预期工作。
答案 1 :(得分:6)
我遇到了同样的问题。我扩展了Activity而不是ListActivity类,这解决了我的问题。
答案 2 :(得分:1)
你说你使用自定义适配器,但从代码我看不到这样的适配器。在这里,您可以下载整个Android项目http://blog.sptechnolab.com/wp-content/uploads/2011/02/listBlog.zip。