0

私のアプリは、ポーカーテーブルのプレーヤーがどのようにプレイするかを追跡します。sharedPreferences 内の JSON 配列内に保存された「Player」オブジェクトの形式で、最大 50 人のプレーヤーの統計を保存するオプションをユーザーに提供します。これらのプレーヤーの 1 つを選択してロードする方法をユーザーに許可することは、困難であることが証明されています。

alertDialog は小さいように見えます。新しいアクティビティは、本質的に単なる大きなメニューに対して少しやり過ぎのように見えます。オブジェクトをそれに渡すのは難しいのではないかと心配しています。viewFlipper は面白そうに聞こえますが、それが適しているかどうかはわかりません。

これを行うにはどうすればよいですか?画面を何十個ものボタンで埋め尽くすことだけが、私がやりたいことのすべてです。

4

3 に答える 3

2

このために新しいアクティビティを作成するのはやり過ぎになることに同意します。これに対処する 1 つの方法はGridView、「ボタン」を配置することです。ユーザーはグリッドからボタンをクリックして選択します。問題は、このグリッドをどこに/どのように表示するかです。

私の意見では、ViewFlipper は素晴らしいオプションです。それを行う方法は、ビューフリッパー内に既存のレイアウトを配置し、既存のレイアウトの後に GridView を ViewFlipper に配置することです。

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
             android:id="@+id/flipper">

    <LinearLayout ...>

        <!-- this is where your main layout goes -->

    </LinearLayout>

    <GridView xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/player_select"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" />
</ViewFlipper>

次に、アクティビティで、グリッド ビューのアダプタとOnItemClickListener- を設定して、1 つのアイテムがクリックされたときに何かを実行します。最後に、どこか (メイン レイアウト、オプション メニュー、またはその他の場所) で、このグリッド ビューを表示するための何かを提供します。そのアクションのハンドラー コードには、次のようなものがあります。

ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showNext();

これにより、メイン レイアウトが効果的に非表示になり、代わりにグリッドが表示されます。そして、あなたの最後にあなたOnItemClickListenerが持っているでしょう

ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showPrevious();

これにより、グリッド ビューが非表示になり、メイン レイアウトに戻ります。トランジションに好きなアニメーションを自由に追加してください (たとえば、3G フリップ アニメーションは特に見栄えがします)。

于 2012-04-12T15:32:38.083 に答える
1

を試してくださいAutoCompleteTextView。名前の 1 つを入力し始めると、一致する可能性のあるすべてのリストがポップアップ表示されます。

Google のチュートリアルのスクリーンショット:

ここに画像の説明を入力

于 2012-04-12T15:41:50.577 に答える
0

私はListViewを使いました。オートコンプリートのフィルタリングと整頓性を兼ね備えていますが、名前を表示するため、ユーザーは ViewFlipper ソリューションのように名前を覚えておく必要がありません。

ここに画像の説明を入力

両方の回答に感謝します。どちらも、2つを組み合わせた必要なソリューションにたどり着くのに役立つ優れたソリューションです。

オートコンプリートには検索の利点があり、ユーザーが保存できるプレーヤーの数を心ゆくまで拡張できました。見た目もすっきりしていましたが、リスト全体を簡単に見ることができませんでした。メモが仲間のプレーヤーの名前になることはめったにありませんが、外見/演奏スタイルに基づいてカフニックネームから外れています. したがって、オートコンプリートを使用すると、ユーザーは自分が付けたニックネームを覚えておく必要があり、50 人以上のプレイヤーが数か月離れている可能性があるため、注意が必要です。

Alek Gs ソリューションはその問題を回避しますが、ボタンが固定サイズから外れるため、多数の名前や長い名前には適していません。

于 2012-04-18T10:35:25.163 に答える