Android: расположение файлов Raw в массиве - PullRequest
0 голосов
/ 23 октября 2011

Я пишу приложение, отображающее 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

...