0

ボタンの配列が 2 つあります。クリックされたボタンが配列内にあるかどうかを確認する方法は? 私はこれを試しましたが、うまくいきませんでした:

private static final int[] idArrayA = {R.id.bA1, R.id.bA2, R.id.bA3, R.id.bA4, R.id.bA5, R.id.bA6, R.id.bA7, R.id.bA8};
private static final int[] idArrayB = {R.id.bB1, R.id.bB2, R.id.bB3, R.id.bB4, R.id.bB5, R.id.bB6, R.id.bB7, R.id.bB8};

final OnClickListener clickListenerA = new OnClickListener(){


        public void onClick(View v) {
               if (Arrays.asList(idArrayA).contains(v.getId())) {

                   Button button = (Button) v;
                   button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0x003333));  

               }
        }
       };
4

1 に答える 1

1

Arrays.asList(idArrayA)List<int[]>代わりにList<Integer>悪い結果を生成します。
配列を繰り返し処理し、その要素を new List に追加するだけで、配列から List を構築します。

List<Integer> arrayAsList = new ArrayList<Integer>(idArrayA.length); // List with initial capacity
for (int i : idArrayA) {
  arrayAsList.add(i);
}

またはidArrayA を として宣言しprivate static final Integer[]ます。

于 2013-03-29T13:24:45.270 に答える