私は何かをしたいのですが、4つのボタンがあります。2 つの一致するボタンが押された場合にのみ成功します。現時点では、1 つのボタン クリックを処理する方法しか知りませんが、ボタンを押してから別のボタンを押すと、押したボタンに応じて失敗または成功するようにする方法がわかりません。
これを実装するために何を使用しますか?
私は何かをしたいのですが、4つのボタンがあります。2 つの一致するボタンが押された場合にのみ成功します。現時点では、1 つのボタン クリックを処理する方法しか知りませんが、ボタンを押してから別のボタンを押すと、押したボタンに応じて失敗または成功するようにする方法がわかりません。
これを実装するために何を使用しますか?
クリックされたイベントで現在のボタンIDを取得できるため、以前にクリックされたボタンの整数値を維持できます。現在のボタンクリックと前にクリックしたボタンを比較して、タスクを実行します。
2つのボタンが同時に押されたことをOnTouchListener
検出する場合は、ボタンにを設定して、それぞれが押されたときまたは離されたときを検出できます。少しの簿記で、ユーザーが2つの一致するボタンを同時に押したかどうかを検出できます。
連続するボタンのクリックを追跡する場合は、最後にクリックされたボタンを特定する方法が必要です。これを行うにはいくつかの方法があります。1つは、各ボタンに異なるOnClickHandler
(または異なる方法)を割り当てることです。android:onClick
別の方法(私の意見ではより良い)は、各ボタンに一意のタグ値を割り当てることです。Integer.parseInt()
XMLでは、タグは文字列になり、 ;を使用してint値に解析できます。コードでは、整数にすることができます。次に、クリックハンドラーがボタンのタグ値を決定し、それをプログラムロジックで使用します。
これを使用する方法は次のとおりです。最後にクリックされたボタンのフィールドをゲームクラスに定義します。ボタンをクリックする前に、値を-1(ボタンがないことを示す)にする必要があります。次に、ボタンがクリックされたら、そのIDを判別します(タグから、またはクリックハンドラーが呼び出されたときに)。最後のボタンと現在のボタンが正しいシーケンスを形成しているかどうかを確認してください。そうでない場合は、最後のボタンを現在のボタンに設定します。
各ボタンが新しいアクティビティを開始するというコメントに従って、単一のアクティビティの使用を検討し、単にビューを変更することをお勧めします。
特に、最後のアクティビティでの特定のボタンのクリックが新しいアクティビティに影響を与える場合、それらは実際には同じアクティビティである必要があるようです。
ただし、複数のアクティビティを本当に使用したい場合は、いくつかのオプションがあります。