複数行の ListView で項目を編集する方法が必要です。編集が必要なのは 2 つのテキスト フィールドだけです。
設計上、これを行う最善の方法は何でしょうか? まったく新しいアクティビティは画面スペースを浪費しすぎて見栄えが悪いと思いますが、2 つのフィールドといくつかの確認ボタンを含むポップアップだけでも見栄えが悪いかもしれません。
複数行の ListView で項目を編集する方法が必要です。編集が必要なのは 2 つのテキスト フィールドだけです。
設計上、これを行う最善の方法は何でしょうか? まったく新しいアクティビティは画面スペースを浪費しすぎて見栄えが悪いと思いますが、2 つのフィールドといくつかの確認ボタンを含むポップアップだけでも見栄えが悪いかもしれません。
いくつかの理由から、別のアクティビティを使用します。
1) それはユーザーが期待するものです。ポップアップを使用してリストビューの内容を編集するアプリを思い出すことができません
2)別のアクティビティで状態を管理する方がはるかに簡単です。たとえば、ユーザーがテキストの入力を開始し、電話や電子メールの通知などによって中断された場合などです。
3) テキストを編集している場合、キーボードが画面の大部分を占めるため、アクティビティがまばらに見えることはありません。
これに最適な設計についてはかなり主観的であり、特に特定の用途について詳しく知る必要はありませんが、いくつかの可能性が思い浮かびます.
ご指摘の新しいアクティビティ オプションは、実際には非常に標準的なものです。Gmail、Google トーク、メッセージングなどで使用されている同様のパラダイムを見ることができます。ただし、テキスト フィールドにそれぞれ 1 つの単語のようなものが含まれていることを期待している場合、新しいアクティビティを作成するためにスペースを無駄にしているように感じるかもしれないことは理解できます。 . ただし、必ずしも除外するわけではありません。おそらく、スタイリングをいじって空っぽにならないようにすることができます (ラベル、短い説明などを含めます)。また、最近ではほとんどのユーザーがソフト キーボードを使用していることも考慮してください。これはかなりの量のスペースを占有し、ビューが空っぽに感じないようにする可能性があります。
ポップアップ オプションはあまり標準的ではないように見えますが、適切にスタイルを設定すれば、問題なく動作することがわかりました。このオプションの何が気に入らないのですか?
別のオプションは、電話サイズのレイアウトではあまり一般的ではありませんが、問題外ではない、ある種のマルチペインレイアウトを行うことです. リスト ビューの上にある現在のアイテム用の 2 つのテキスト ボックスを持つペインを作成し、リスト ビューでアイテムを選択すると内容が変化するようにすることができます。これもあまり標準的でない UI です。
リスト項目内に実際に別のビューを表示することもできます。現在の (私が想定している) 2 つTextView
の に加えて、2 つEditText
の と、おそらく [OK] ボタンと [キャンセル] ボタンを非表示にすることができます。アイテムを選択すると、これらすべてのビューの表示が切り替わります。
他にもオプションはあると思いますが、少なくともこれで少し考えるきっかけになれば幸いです。
リストビューで更新し、リストビューにアイテムを追加する必要があります???????