いくつかのセクション上記のヘッダとリストビューを生成するには?
-
25-09-2019 - |
質問
私はそれがプロパティセクションの一部で見ることができるように、いくつかのエントリの間にいくつかの分周器を持っているListView
を生成したいです。以下の例を参照してください。私はいくつかのtextviews ののは、リストの次の部分を説明する空想デバイダの1に続いて、その後、再びいくつかのテキストビューで構成List
を生成してみてください。これはどのように行うことができますか?私は、リストに追加するさまざまなビューを作成する方法について考えましたか?これは移動するための方法ですか?
解決
私は解決策を得ました。それが最良のものであるかどうかはわかりません。
私は ArrayAdapter に由来するカスタムアダプタを使用しますこのチュートリアルので説明したように、リストのため。私はGetViewメソッドの位置は通常の行があるかどうかを確認アダプタクラスでは、私は、行レイアウトを膨張させます。それが新しいグループからの最初の行であれば、私は通常の行に加えて、それ以上のグループの見出しで見出しのレイアウトを膨らませます。
あなたの行の1つにヘッダを混在させたくない場合。以下の解決策を考えてみます:
あなたは2つのメソッドを上書きすることができます getItemViewType と getViewTypeCount に。 これで、異なる行を表示することができ、リストを持っています。あなたはgetViewメソッドメソッド内の項目の予想ビューの種類を確認し、それに応じて、異なるレイアウトを膨らませる必要があります。
リストはrecycleViewが、あなたの現在のセルを表示するために使用することができますnullでない場合、それは、あなたのGetViewメソッドにこの手段を唯一の正しいリサイクルビューを返すことのようにあなたのためのリサイクルを処理します。
他のヒント
あなたは、私の SectionedAdapter
に使用することができます(何らかの上流コードにそのようにライセンスされた)許容可能です。あなたがより柔軟かつより少ない制限ライセンス(と何かが必要な場合は、私の MergeAdapter
に使用することができますApacheの2)。
私はあなたがandroid.widget.ExpandableListView
を探しているかもしれないと思いますhttp://developer.android.com/reference/android/widget /ExpandableListView.htmlする
私もこの答えに興味があります。これを行うには、より簡単な方法が存在する必要があります。
アダプタを見て、方法、Adapter.getItemViewType(int型の位置)があります。
リストビュー定義の戻り値は、返されるアイテムは、ヘッダまたはフッタであるかどうかを示すITEM_VIEW_TYPE_HEADER_OR_FOOTER。
私はそれを試していないが、私はあなたがあなた自身のアダプタを作成し、リストビューが適切に表示されること、それはヘッダーやフッターであることを示すタイプのアイテムを返す場合と仮定します。