2013-03-04 4 views
0

У меня есть требование показать 5 изображений на экране & onClick указанного изображения, я буду воспроизводить музыку в течение 3 секунд, а затем перейти к следующему действию (или набору еще 5 изображений) в случайном порядке ,Android + Добавление макетов динамически

Как я должен показать более 16 различных видов (16 * 5 изображений) случайным образом .....

Upto, что я сделал & работает вполне пристойно.

** Для этого я создал 16 мероприятий & соответствующих 16 файлов Xml.

Мой вопрос: могу ли я добавить эти 16 XML-файлов в одно действие вместо 16 действий. Я только что слышал о динамическом добавлении макетов к Activity.But В моем проекте мне нужно изменить набор изображений onClick правильного изображения и загрузить новые изображения, которые нужно щелкнуть ... **

Короче & простой I хочешь показать содержимое из различных ресурсов на ОДНОЙ АКТИВНОСТИ ...

       (or) 

что лучше идти со многим рядом мероприятий, возможно?

N0te: Это может быть простой вопрос, BUt Я googling &, находясь на этом сайте в течение последних 8 дней, но результата пока нет. Поэтому, пожалуйста, эту услугу ....

ANDD, ** Если Вы хотите дать Geeks DOWN ГОЛОСОВАТЬ, Пожалуйста, укажите причину Kind .... **

ответ

1

Вы можете использовать этот

setContentView(R.layout.myxmlfile.xml) 

загрузить другую раскладку в одной и той же деятельности

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

получить идентификатор первого и последнего макета

final int first = R.layout.myfirstLayout.xml; 
final int last = R.layout.myLastLayout.xml; 

теперь генерирует случайное значение между этими двумя целыми числами.

final int random = (int)(first + (Math.Random()%last)); 

использует случайный для загрузки макета

setContentView(random); 

для этого на работу, вы должны убедиться, что ваши макеты упорядочены правильно, называя их в алфавитном порядке.

+0

Хорошо, но могу ли я показать это случайно ... ????? – sai

+0

см. Отредактированный ответ – Premsuraj

+0

Ok prem, Извините, что беспокою вас, Но у меня есть 16 разных макетов. Пожалуйста, помогите мне создать случайное значение между этими 16 макетами. – sai

1

Используйте LayoutInflater класс

LayoutInflater layoutInflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View view = layoutInflater.inflate(R.layout.dblayout, null); 
setContentView(view); 
+0

Итак, вы говорите, что используете 16 XML-файлов с Single activity, Right ??? – sai

+0

Да, скажите ....... – jlopez

+0

Могу ли я использовать один XML-файл Также ??? вместо 16 xml-файлов. Есть ли способ. – sai

0
int layouts[] = { R.layout.layout1, R.layout.layout2, .... } 
setRandomLayout() { 
    int layout = layouts[random of layouts.length]; 
    setContentView(layout); 
} 

Кроме того, если все макеты будут появляться идентичны, то я предложил бы использовать одну компоновку, но разные данные/изображение для каждого изображения.

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