カスタムアダプタ付きのリストビューがあります。私は標準を得ています
Your content must have a ListView whose id attribute is 'Android.R.id.list'
エラー、ただし、MyListViewには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);
}
何か案は?
Android:id="@Android:id/list"
は完全に機能します。私の問題は、ListActivityを継承している基本クラスを継承し、スプラッシュ画面アクティビティにListViewが定義されていないスプラッシュ画面があったことでした。アクティビティを継承するようにSplashScreenを変更しました。すべてが期待どおりに機能します。
私は同じ問題に直面していました。 ListActivityクラスの代わりにActivityを拡張すると、問題が解決しました。
カスタムアダプタを使用しているとおっしゃっていますが、コードからはそのようなアダプタがわかりません。ここでは、Androidプロジェクト、 http://blog.sptechnolab.com/wp-content/uploads/2011/02/listBlog.Zip 全体をダウンロードできます。