ボタンのテーブル(カスタムキーパッド)でボタンのタッチをテストする正しい方法は何ですか?すべてのボタンのOnTouchリスナーは面倒なようです。
1 に答える
1
面倒ではありません。ただし、それらすべてに同じリスナーを使用することをお勧めします。(そしてこれは使用していOnTouchListener
ます;OnClickListener
あなたの場合はもっと良いかもしれません。)
public class MyButtonTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent ev) {
Button b = (Button) v;
String buttonText = b.getText().toString();
// Do whatever, based on buttonText. Example: if (buttonText.equals("#")) { doPound(); }
}
}
次に、これらのアイテムの1つを作成し、それをすべてに割り当てます。
MyButtonTouchListener listener = new MyButtonTouchListener();
ArrayList<Button> myButtons = new ArrayList<Button>();
// Add all your Button objects to the ArrayList.
for (Button b : myButtons)
b.setOnTouchListener(listener);
これで、リスナーはメモリに1回だけ表示され、各アイテムには引き続き固有の機能があります。
于 2012-10-07T19:07:33.457 に答える