私は頻繁に使用され、多くの入力フィールドを必要とし、ユーザーが望むときに更新できるアクティビティがありますが、あまり一般的ではありません。
この瞬間、私はこのようなものを持っています:
形式はマスター/詳細フォームであり、詳細はExpandableListView内にあります。これには、10個(またはそれ以上)の使用可能なアイテムのうち約1〜2個(またはそれ以上)の子アイテムがあります。各子には独自の入力フィールド(2〜4)があり、いくつかは必須です。
| Master Information |
| | <- Input field 1
| | <- Input field 2
| | <- Input field 3
| | <- Input field 4
| [Add Child]| <- Button to add a child, which opens a listactivity to pick item
| [ChildItem] > | <- ExpandableListView Item
| Child Details | <- Input fields
| Child Details | <- Input fields
| [ChildItem] > |
| Child Details | <- Input fields
| Child Details | <- Input fields
この場合、スピナーを使用する代わりにListActivityを開くことを選択しました。これは、スピナーが私の意見ではあまりにも多くのスペースを埋めるためです。また、私は新しいアイテムを挿入する必要があるかもしれません、そして私はスピナーがそのための正しいものではないと思います。
しかし、私は現在の形式全体にまったく満足していません。これはあまりにも標準的で退屈だと思います。すべての子アイテムを開き始めると、多くのスペースを埋めることができます。
以下は、私が考え得る2つのシナリオです。
ExpandableListViewを保持しますが、各子は、入力フィールドを持つのではなく、最も重要な情報のみを表示します。新しい子を追加したり、子を編集するふりをしたりすると、DialogFragmentなどが開きます。
長所:
短所:
ExpandableListViewを削除し、代わりにList/GridViewを追加します。 AddChildを押すと、右側にバーが開き、使用可能なアイテムが一覧表示されます。次に、必要なアイテムをListViewにドラッグアンドドロップします。次に、DialogFragmentが開き、アイテムの情報を入力できます。
長所:
短所:
もしあれば、どのシナリオを提案しますか?より良いパターンがありますか?
このページ(www.androidpatterns.com)、 展開可能なリストまたはデータのドリルダウン を見ると、データを表示するための最良のオプションになる可能性があります。次に、商品と両方の短所を詳しく調べると、データドリルダウンを使用します。拡張可能なリストを使用すると、1つの画面(スクロール)で情報が多すぎて多くの情報が表示されるためです。すぐには表示されない情報の数。 (最大10の子アイテムと最大4の子詳細を持つことができます... 1つの画面には情報が多すぎます)。
とにかく、このページには、使用できるパターンがたくさんあります(たとえば、新しい子を追加するために モードセレクター を使用できます)。
これがお役に立てば幸いです。