2011-07-14 10 views
0

私は現在、リストビューを構築しています。今日、どのアンドロイド電話にも付属している標準の目覚まし時計アプリに似ています。これらのアプリケーションでは、各行ごとに異なるビューを持つListViewがあります。例えばさまざまなオプションを持つカスタムリストビューを持っています

http://www.androidpeople.com/wp-content/uploads/2010/05/listviewwithmultiplechoice.png

http://www.talkandroid.com/android-forums/attachments/android-development-answers-tutorials-code-snippets/360d1234754310-add-edittext-backgroundtxt-child-expandable-list-screencap1.png

私は同じListViewコントロールにチェックボックスと拡張可能なビューを使用するオプションの両方のためにしたいと思います。私はチュートリアルを探してみましたが、本当に助けてくれた人はいません。

私のコードでは、ビューを展開可能リストビューと複数選択ビューの組み合わせにすることを検討しています。 このようなことをするにはどうすればよいですか? ここに私のコードがあります。

答えて

0

ListAdapterを拡張してgetViewを上書きする必要があります。渡された位置を使用してgetItemを使用してオブジェクトを取得し、渡されたオブジェクトに適したビューを返します。

ビューがオブジェクトのクラスに依存する場合は、instanceofを使用してテストします。

+0

ListActivityの代わりにListAdapterを拡張する必要があると言っていますか? そして、getitemでオブジェクトを取得したら、各ビューに対していくつかの新しいxmlファイルを作成する必要がありますか?次に、temp1.xml、temp2.​​xml、temp3.xml、 などのファイルを作成し、それぞれを別のビューで展開しますか? 〜のように... 'getItem(position); layoutInflater myInflater; ビューv = myInflater.inflate(R.layout.temp1); ビューv1 = myInflater.inflate(R.layout.temp2); ' これから...? – cj1098

+0

ListActivityを保持しますが、カスタムListAdapterを作成します(たとえば、ArrayAdapter )。setListAdapter(yourCustomListAdapter)を呼び出して使用します。 はい、getViewが呼び出されるたびに異なるビューを展開します。効率化のために、あなたが新しいものすべてを膨らませる前に、あなたが膨張させたいタイプのものではありません。 – Gallal

関連する問題