Что я пропустил в коде?
mp = MediaPlayer.create(namaz.this, R.raw.(funkc(trackID))); - выбивает unexpected token, identifier expected.
В public int funkc (int track_id_get) выдает - missing return statement
в гугле смотрел.
public int funkc (int track_id_get) {
switch (track_id_get) {
case 1:
return 1;
break;
case2:
return 2;
break;
default:
break;
}
}
void playStop(int stop, int play, int trackID)
{
if(stop == 1)
{
stopPlaying();
}
else
if (play == 1)
{
mp = MediaPlayer.create(namaz.this, R.raw.(funkc(trackID))); // vizovFunccii(track_id - это номер трека, который нужно воспроизвести))
mp.start();
}
}
1) R.* - это константы. Нельзя их использовать генерируя имена в рантайме.
Должно быть как-то так
public int funkc (int track_id_get) {
switch (track_id_get) {
case 1:
return R.raw.1;
case 2:
return R.raw.2;
default:
return R.raw.default;
}
}
И потом
mp = MediaPlayer.create(namaz.this, funkc(trackID));
2) В случае, если в вашу функцию funk передать, например, 3, то что она вернет? В вашем случае return вообще не будет достугнут.
Всегда, когда используете return внутри swith, у вас должен быть вариант возврата значения из блока default (если, конечно, у вас там не ENUM перебирается полностью)
3) Также, если в case используется return, то breake не обязателен - выполнение программы до него просто никогда не дойдет
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости