2015-01-22 2 views
0

В моей деятельности есть 9 кнопок с изображениями, я хотел бы изменить некоторые свойства нескольких кнопок изображения, например отключить все кнопки изображения в определенной ситуации &, а затем включить их обратно. Я думаю, может быть, я могу использовать рамочное что-то вроде этого ....Изменить свойство кнопки с несколькими изображениями

// int [] ids = { R.id.imgBtn1, R.id.imgBtn2......, R.id.imgBtn9 }; 
// for (int i=0; i<=ids.length; i++){ 
// ids[i].setEnabled(true); 
// } 

Спасибо всем

+0

тянуть все виды в одном списке и использовать эту –

+0

@shayanpourvatan могли бы вы привести пример – user2551070

ответ

0
// Add views from array of ids 
ArrayList<View> views = new ArrayList<>(); 
int [] ids = { R.id.imgBtn1, R.id.imgBtn2, R.id.imgBtn9 }; 
for (int i=0; i<ids.length; ++i){ 
    views.add(findViewById(ids[i])); 
} 

// Loop each view and enable it 
for (View view : views) { 
    view.setEnabled(true); 
} 
+0

Благодарим вас также за это – user2551070

+1

@ user2551070 Я думаю 'i <= ids.length' return' ArryIndexOutOfBound', я прав? Я думаю, вам нужно использовать 'i

+0

@shayanpourvatan правильно. Ошибка копирования-вставки из кода OPs. – Simas

1

определяет один список, как следующие:

List<ImageView> images = new ArrayList<>(); 

ImageView iv1 = (ImageView)findViewById(R.id.image1); 
ImageView iv2 = (ImageView)findViewById(R.id.image2); 
ImageView iv3 = (ImageView)findViewById(R.id.image3); 
ImageView iv4 = (ImageView)findViewById(R.id.image4); 
ImageView iv5 = (ImageView)findViewById(R.id.image5); 
ImageView iv6 = (ImageView)findViewById(R.id.image6); 
ImageView iv7 = (ImageView)findViewById(R.id.image7); 
//..... 

и поместить все в одном списке,

images.add(iv1); 
images.add(iv2); 
// add other view 

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

for (ImageView iv : images) 
{ 
    // your code 
} 
+0

нормально здорово! Позвольте мне попробовать, я дам вам знать. Спасибо – user2551070

+0

Спасибо Я тоже попробовал ваш метод, он работает. Но заметный ответ более подходит для моих нужд. В любом случае спасибо за вашу помощь. – user2551070

Смежные вопросы