2012-04-18 64 views
0

我想做點什麼,我會有4個按鈕。只有按下兩個匹配按鈕纔會成功。目前,我只知道如何處理一個按鈕的點擊,但我不知道如何製作,所以如果我按下一個按鈕,然後再按下另一個按鈕。根據按下的按鈕發生失敗或成功。類似匹配遊戲

我會用什麼來繼續實施呢?

回答

0

如果您的意思是要檢測到同時按下兩個按鈕,您可以設置按鈕OnTouchListener並檢測每個按鈕或釋放。通過一個小簿記,您可以檢測用戶是否同時按下兩個匹配的按鈕。

如果你想跟蹤連續的按鈕點擊,那麼你需要一些方法來確定哪個按鈕被最後點擊。有幾種方法可以做到這一點。一種是爲每個按鈕分配不同的OnClickHandler(或不同的方法)。另一種方式(更好,在我看來)是爲每個按鈕分配一個唯一的標籤值。在XML中,標記將是一個字符串,然後您可以使用Integer.parseInt()解析爲int值;在代碼中它可以是一個整數。然後你的點擊處理程序確定按鈕的標記值並在程序邏輯中使用它。

您將使用這種方式如下。在遊戲類中爲最後一個按鈕點擊定義一個字段。在點擊任何按鈕之前,它的值應爲-1(表示無按鈕)。然後當你點擊一個按鈕時,確定它的標識(無論是從標籤還是由哪個點擊處理程序被調用)。檢查最後一個按鈕和當前按鈕是否形成正確的順序。如果不是,則將最後一個按鈕設置爲當前按鈕。

+0

我不想同時按下按鈕。我想要一個按鈕,然後下一個連續的按鈕按下我想要的東西實際發生。所以它會記住第一個按鈕的按下,並根據第二個按鈕的操作進行操作。我希望你遵循:S – user1274830 2012-04-18 03:41:55

+0

@ user1274830看到我更新的答案。 – 2012-04-18 05:20:47

0

您可以在單擊的事件上獲得當前按鈕ID,因此您可以爲先前單擊的按鈕保留一個整數值。並比較當前按鈕點擊與點擊前一個按鈕,並執行您的任務..

+0

我對編程相當陌生,怎麼去做這件事? 目前大多數我的按鈕按下case R.id.button:this.startActivity(nextActivity);那就是我目前正在做的。我將如何維持一個整數值? – user1274830 2012-04-18 03:44:13

0

根據您的評論,每個按鈕啓動一個新的活動,你可能要考慮使用單一的活動,只需改變視圖。

特別是如果上次活動中的特定按鈕點擊影響了新活動,那麼看起來他們應該真的是同一活動。

但是,如果你真的想使用多個活動有以下幾個選項:

  1. Store中最後一個按鈕在按下SharePreferences。
  2. Store中的最後一個按鈕在按下文件或SQLite數據庫
  3. 當你開始新的活動,使用intent.putExtra()來存儲最後一次按下按鈕,這樣新的活動可以通過getIntent訪問它()。 getExtra()