多くのアイテムのリストがあるとします。各項目は、ユーザーが選択できる1行のテキストです。リストには平均で約750のアイテムが含まれます(ただし、1,000に達する場合もあります)。
このリストを1つの巨大なリストビューで表示する代わりに、ユーザーにアルファベット順でナビゲートできるようにして、[〜#〜] a [〜#〜]で始まるアイテムのみが表示されるようにします。次に、ユーザーは[〜#〜] b [〜#〜]、[〜#〜] c [〜#〜]などに移動できます。
(A/Zを含む)リストビューの上にSpinnerを置くことを検討しました。リストビューのコンテンツは、スピナーの現在の選択に基づいてフィルタリングされます。ただし、これはユーザーにとって非常に煩わしいことに気づきました(スピナーでのアルファベットの変更ごとに、少なくとも2回のタップと、特定の文字を下にスワイプする必要があります)。
では、ユーザーフレンドリーでありながら同じ機能を実現するためのより良い方法は何でしょうか?
アルファベット順に並べられた大きなリストの最も一般的なパターンは、単一のリストに次のものを提供することです。
この実装の最良の例は、標準の「連絡先」アプリケーションです。以下は、簡単なスクリーンショットです。
連絡先アプリケーションhttp://dandroidtabletpc.com/wp-content/uploads/2011/08/Android-Contact.png
太いスクロールつまみのスクリーンショットは次のとおりです。
これが唯一の可能な解決策ではないが、これは最も簡単で簡潔な解決策の1つであることに注意してください。
開発者メモ:
cwac-merge
の- CommonsWare Android Componenets を参照してください。さまざまな パターンを使用して、膨大な量のコンテンツを表示します Androidで頻繁に使用されます。
オプションをグループ化(AZ文字の最初のリストを表示)、リストの上に水平にスクロールするタブの行を配置、検索バーを提供して結果をフィルターに掛けることができます。しかし、1つの効果的なメカニズムは、すべてのアイテムと を表示することです。スクロールサム を提供して、検索を簡素化します。
AutoCompleteTextViewは、非常にユーザーフレンドリーでありながら、最小限の画面領域で大量のデータを選択できるようにする優れたソリューションです。
私はこれを数百のリストに基づく国選択のためにうまく配線しました。 AutoCompleteTextView.Validatorのカスタム実装を使用すると、有効なレコードのみが選択されていることを確認し、基本的にはそれをフィルタリング/検索できる巨大なスピナーのように扱うことができます。