Как связать мои звуковые файлы с моими кнопками? - PullRequest
0 голосов
/ 06 июля 2011

У меня вставлены кнопки изображений, я знаю, как получить к ним изображения, и у меня есть звуковые файлы в папке res>raw.

Как связать эти звуки с каждой кнопкой? Я догадываюсь что-то с кнопкой медиаконтроллера? (я в графическом макете)

Дополнительные вопросы:

  • Нужно ли вносить изменения в файл main.xml и .java?
  • Что мне нужно сделать с манифестом или файлом r.java?
  • Кто-нибудь знает о каких-то замечательных учебных ресурсах необычных? (я уже рассмотрел все видео-уроки на странице разработчиков Google)

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Лучший учебный ресурс - примеры Android, прилагаемые к SDK.

http://developer.android.com/guide/topics/media/index.html

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

0 голосов
/ 06 июля 2011

тогда вы, вероятно, читаете эту документацию о MediaPlayers . Вам не нужны MediaButtons, просто примените простой OnClickListener к каждой кнопке. Не нужно менять XML для этого, ни манифест. Просто примените OnClickListeners к ним. Вы можете делать с R.Java все, что захотите, так как он переопределяется при каждом изменении чего-либо в XML, копировании нового ресурса или чего-либо еще.

РЕДАКТИРОВАТЬ из-за комментария: Поэтому, если у вас есть RootView, такой как LinearLayout, вы можете вызвать

LinearLayout yourRootLayout = findView....
int count = yourRootLayout.getChildCount();
for(int i = 0; i < count; i++){
    View v = yourRootLayout.getChildAt(i);
    if(v instanceof Button){
        Button b = (Button)v;
        b.setOnClickListener(this);
    }
}

Вы просто должны позволить своей Activity реализовать OnClickListener и включить onClick (View v) для Button.getId () и сравнить его с вашим R.id.YOUR_IDENTIFIER

Edit2:
Я не знаю точно, какой счет он вам вернет. просто проверь это. Я предполагаю, что это могут быть либо прямые Чайлдс, либо все Чайлдс. если это каждый ребенок, вы можете быть счастливы и просто переключите LinearLayout на TableLayout. Если нет, вам нужно попросить TableLayout для ChildCount, итерировать их, как указано выше, но приведите их к TableRow. затем попросите TableRow для детей и получите ваши кнопки.

может быть проще вызвать findViewById для каждой кнопки и установить onClickListener для этих 10.

Да, в Java можно сделать все, что угодно

...