私は単純なアンドロイドのUIデザインの問題だと思っていますが、数日間は円で回っています。私はXMLをダウンロードしてアンドロイド・アプリケーションのフォームにXMLを表示するRESTサービスを持っています。私はウェブページを構築しており、これをアンドロイドやウェブサイトからRESTサービスに送信するのと同じオプション、同じオプションを使ってこれを模倣しています。私は私が持っていたアンドロイドに似た何かをしたかったAlertDialogとSpinner対ListView
<select name="planet"><option value="0">Mercury</option></select>
:として、たとえば、私は惑星のオプションを表示できるようにHTMLで、私は簡単に、様々なID /表示項目のチェックボックスグループとラジオボタン/ドロップダウンを作成することができますIDの1つと、表示するユーザーフレンドリーなテキストのペアです。だから私はandroid.util.Pairを使用して、アダプタを作成することにしました:
public class PairView extends Pair<String, String> {
public PairView(String first, String second) {
super(first, second);
}
public String toString() {
return second;
}
}
public class PairAdapter extends ArrayAdapter<PairView> {
}
だから今はpair.firstに私のIDを置くことができ、何がpair.secondでユーザに表示します。
私の問題は、これらのオプションのうちのいくつかがシングルセレクトであり、いくつかはマルチセレクトであるということです。 htmlでは、これは問題ではなく、複数の場合はチェックボックスグループを使用し、1つの選択の場合はラジオボタン/ドロップダウンを使用します。しかし、アンドロイドではそれほど単純ではないようです。私はアダプターにスピナーを使用しようとしましたが、スピナーは単一の選択のみを許可しているようです。 AlertDialog.Builderは単一選択と複数選択を可能にしますが、興味深いことに、単一選択のためだけに複数選択のためのアダプタを使用するオプションはありません。
私が本当に望んでいるのは、すべてのオプションを一貫して見ていると思います。ラジオボタンは単一の選択肢と複数の選択肢のために表示され、アダプタを介して表示されるので、選択したアイテムのペアからIDを取得できます。
どのようなアプローチをとるべきですか?マルチセレクション用にコードを追加したカスタムスピナー? AlertDialog.Builderを使用して、何とかマルチセレクション用のアダプタを使用するようにしますか?単純なアラートを作成し、それにリストビューをラップします。 (うまくいけば)もっと簡単な別のオプション?
私はここで何か非常に基本的なものが欠けているように感じます。
これは私を助けると思う。チップをありがとう、私はsetTagを認識していない、それを使用して私のためのものを簡素化する必要があります。 – mvsjes2
setTagには注意してください...厳密に型指定された言語なので、人々はjavaが大好きです。 Objectを返すメソッドは問題を求めています。 –