2011-04-16 36 views
0

我想做一個簡單的遊戲,讓我的孩子佔用下面的編碼將是主屏幕。我希望能做的就是讓imageview顯示一個動物,並且表格將在某個地方包含動物。我決定使用按鈕,onclick會顯示它下面的動物,現在我已經用1 - 25的文字標記了它們,所以我可以跟蹤它們進行測試。如何在Android中對行和列進行洗牌?

我在底部有一個按鈕(隨機播放)當按下隨機播放按鈕時,我應該如何去改變行和列?例如,button1被設置爲row1中的第一個按鈕,但它應該移動到另一行中的另一個位置。

<?xml version="1.0" encoding="utf-8"?> 

    <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:stretchColumns="*" > 


     <ImageView android:id="@+id/imageView1" android:src="@drawable/ANIMAL" android:layout_height="wrap_content" android:layout_width="fill_parent" android:adjustViewBounds="true"></ImageView> 


      <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button01" android:text="1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button02" android:text="2" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button03" android:text="3" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button04" android:text="4" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button05" android:text="5" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button></TableRow> 
     <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button06" android:text="6" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button07" android:text="7" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button08" android:text="8" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button09" android:text="9" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button10" android:text="10" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
      </TableRow> 
      <TableRow android:id="@+id/TableRow03" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <Button android:id="@+id/Button11" android:text="11" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button12" android:text="12" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button13" android:text="13" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:id="@+id/Button14" android:text="14" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="15" android:layout_height="wrap_content" android:id="@+id/Button15" android:layout_width="fill_parent"></Button> 
      </TableRow> 
      <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/TableRow04"> 
       <Button android:text="16" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button16"></Button> 
       <Button android:text="17" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button17"></Button> 
       <Button android:text="18" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button18"></Button> 
       <Button android:text="19" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button19"></Button> 
       <Button android:text="20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button20"></Button> 
      </TableRow> 
      <TableRow android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/tableRow05"> 
       <Button android:text="21" android:id="@+id/button21" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="22" android:id="@+id/button22" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="23" android:id="@+id/button23" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="24" android:id="@+id/button24" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
       <Button android:text="25" android:id="@+id/button25" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
      </TableRow> 


     <Button android:id="@+id/mixbtn" android:layout_height="40dip" android:layout_width="fill_parent" android:clickable="true" android:text="Shuffle"></Button> 
    </TableLayout> 

回答

0

我quess我看到的是最簡單的方法,而不是XML佈局,創建一個ArrayList<Button> buttonsList,你可以onCreate()添加到TableLayout。然後,在shuffleButton onClick()上,從TableLayout中刪除按鈕,將數組進行混洗(Collections.shuffle (buttonsList);)並再次添加它們。我希望它對你有意義