現在、Monodroid の Android ListView に問題があります。
次のようなカスタム アダプターを使用して、リストを初期化してセットアップします。
ListView setting_listview = new ListView(this);
//Components and layoutparameters is done here
RelativeLayout bottom_view = new RelativeLayout(this);
//Components/layoutparameters is done here
setting_listview.AddFooterView(bottom_view);
TTListAdapter adapter = new TTListAdapter(this, listdata, Resource.Layout.datatable_list_item,secList);
setting_listview.Adapter = adapter;
次のような別のコードでアダプタを取得しようとすると、次のようになります。
TTListAdapter adapter = (TTListAdapter)setting_listview.Adapter;
次の例外が発生します: System.InvalidCastException: Cannot cast from type HeaderViewListAdapter to TTListAdapter
. どうやら、Adapter プロパティは、初期化中に設定された予想される TTListAdapter ではなく、HeaderViewListAdapter を返すようになりました。
初期化中に使用しないAddFooterView
と、初期化中に設定されたオリジナルが返さTTListAdapter
れます。
HeaderViewListAdapter
が呼び出された後、Adapter プロパティが最初に設定された Adapter ではなく を返すのはなぜAddFooterView
ですか? また、これが発生した場合、元の Adapter を取得するにはどうすればよいですか?
編集:質問の一部を言い換えて、少し明確にしました