2012-04-12 38 views
0

我的應用程序跟蹤玩家如何進行可玩性遊戲。我給了我的用戶選項,以存儲在sharedPreferences中的JSON數組內的'Player'對象的形式保存多達50個玩家統計數據。事實證明,讓用戶選擇並加載其中一個玩家是一件困難的事情。如何創建一個大的選擇屏幕?

alertDialog看起來很小,一個新的活動似乎有點過分,因爲實質上只是一個大菜單,我擔心將對象傳遞給它會很困難。 viewFlipper聽起來很有趣,但我不知道它是否合適。

我應該怎麼做呢?用幾十個按鈕填充屏幕真的是我想要做的。

回答

0

我帶着ListView。它結合了自動完成功能的過濾和整潔功能,並顯示名稱,因此用戶無需像ViewFlipper解決方案那樣記住它們。

enter image description here

感謝兩個答案,他們都是很好的解決方案,幫助我來我所需要的解決方案,它結合了這兩種。

自動完成功能有搜索的優勢,所以我可以將用戶可以保存的玩家數量擴展到我的心中,它看起來也很整潔,但看起來不像撲克玩家那麼容易看到整個列表,在給你的筆記標題時很少給出你的同伴名字,而是根據他們的外觀/演奏風格而取決於袖口的綽號。因此,使用自動完成功能的用戶將不得不記住他們提供的綽號,超過50名玩家和相隔數月的遊戲可能會非常棘手。

阿列克GS的解決辦法避免這樣的問題,但將不適合大量名稱或長名稱爲此事與按鈕將關閉固定大小。

2

我同意爲此創建一個新的活動將是一個矯枉過正。解決這個問題的一種方法是在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 - 點擊一個項目時做某事。最後,某處(主佈局或選項菜單或其他地方)提供某些內容以顯示此網格視圖。在這個動作的處理程序代碼中,你會有類似的東西

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

這將有效地隱藏您的主佈局並顯示網格。而在年底的OnItemClickListener你必須

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

這將隱藏網格視圖,然後返回到主佈局。隨意添加您喜歡的任何動畫(例如3G翻轉動畫看起來特別好)。

1

試試AutoCompleteTextView。開始輸入其中一個名字,並彈出所有可能的匹配列表。從Google's tutorial

截圖:

enter image description here