setClickListeners с циклом - PullRequest
       3

setClickListeners с циклом

0 голосов
/ 12 января 2011

возможно ли сделать это с помощью цикла, поэтому мне не нужно вводить это 70 раз для моих строк?Это для программирования на Android (Java).

 View row1 = findViewById(R.id.row1);
 row1.setOnClickListener(this);
 View row2 = findViewById(R.id.row2);
 row2.setOnClickListener(this);
 View row3 = findViewById(R.id.row3);
 row3.setOnClickListener(this);
 View row4 = findViewById(R.id.row4);
 row4.setOnClickListener(this);
 View row5 = findViewById(R.id.row5);
 row5.setOnClickListener(this);
 View row6 = findViewById(R.id.row6);
 row6.setOnClickListener(this);

1 Ответ

1 голос
/ 12 января 2011

Да, как сказал Фальмарри, это, вероятно, не лучший способ сделать то, что вы хотите, но чтобы ответить на вопрос, вы можете сделать это:

View[] views = {
    findViewById(R.id.row1),
    findViewById(R.id.row2),
    //etc...
};

for (View v : views) {
    v.setOnClickListener(this);
}

Вы можете сделать это с помощью цикла forитерируя «я», используя рефлексию, но я бы порекомендовал опубликовать то, что вы в конечном итоге пытаетесь достичь, я уверен, что есть гораздо лучший способ сделать это.

Просто чтобы рискнуть предположить, так как они названы "rowX", это просто список элементов?Если это так, вместо этого используйте ListView и прикрепленный onItemClickListener.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...