Android アプリケーションで、キーパッドのように機能するフラグメントを作成したいと考えています。9 つのキーすべてに対してonClickを処理する関数が1 つあります。とにかく、これらの 9 つのキーすべてに対してonLongClickを処理する関数を 1 つだけ作成する必要があるかどうかを知りたいです。
ここにレイアウトxmlがあります:
<Button
android:id="@id/testButton"
android:layout_width="70dp"
android:layout_height="55dp"
android:layout_margin="2dp"
android:background="@drawable/keypad_round_button"
android:text="1"
android:textColor="@color/black_1"
android:onClick="keypadSetNote"
android:longClickable="true"/>
<Button
android:id="@id/testButton"
android:layout_width="70dp"
android:layout_height="55dp"
android:layout_margin="2dp"
android:background="@drawable/keypad_round_button"
android:text="2"
android:longClickable="true"
android:textColor="@color/black_1"
android:onClick="keypadSetNote"
/>
OnlongClick リスナーは次のとおりです。
Button button = (Button) findViewById(R.id.testButton);
button.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
Button clickedButton = (Button) v;
String buttonText = clickedButton.getText().toString();
Log.v(TAG, "button long pressed --> " + buttonText);
return true;
}
});
1 つの関数ですべてのonLongClickアクションを処理するために、すべてのキーに同じ ID を与えましたが、最初のキーに対してのみ機能します。Androidでグループボタンのようなものを定義する方法はありますか??? または、それらすべての OnLongClick リスナーを個別に作成する必要がありますか???