Я пишу приложение, отображающее HTML-страницы. При пролистывании или с помощью меню различные страницы становятся видимыми.
html-страницы хранятся в виде R.raw.file1 R.raw.file2
Это переключение между файлами с помощью 'switch case'
String myLoc[] = {"file1","file2"};
//package name: com.ViewP.PageA
int Loca = getResources().getIdentifier(myLoc[0], "raw" , "com.ViewP.PageA");
int Locb = getResources().getIdentifier(myLoc[1], "raw" , "com.ViewP.PageA");
switch(nmr){
case 0: inputStream = getResources().openRawResource(Loca); break;
case 1: inputStream = getResources().openRawResource(Locb); break;
default: inputStream = getResources().openRawResource(R.raw.file1);
}
Это приводит к сбою приложения, однако, когда я использую
case 0: inputStream = getResources().openRawResource(R.raw.file1); break;
работает отлично.
Ясно, что хранение файлов в массиве было сделано неправильно (метод, который я нашел здесь на форуме). Пожалуйста, ваши комментарии и мысли по этому поводу. Я хочу сделать это с помощью массива, потому что, в конце концов, многие html-файлы будут помещены в программу, и тогда метод switch не будет «гладким» способом сделать это. В этом случае предпочтительнее сделать его более динамичным, то есть:
inputStream = getResources().openRawResource(loc[intLoc]);
С наилучшими пожеланиями,
Barbet
Bart