Android 检查资产文件夹中的html文件名是否与获取的字符串(国家/地区名称)值匹配

Android 检查资产文件夹中的html文件名是否与获取的字符串(国家/地区名称)值匹配,android,fileparsing,Android,Fileparsing,我正在开发一个Android应用程序,我有一个小问题。我在Assets文件夹中有一个html文件列表,所有文件都根据国家名称命名,如“United Kingdom.html”,我让用户从列表视图中选择国家名称,我从列表中获取国家名称并将其保存为名为“country_name”的字符串,然后将其作为“value”字符串传递给不同的活动。我试图找到一个解决方案,基本上检查资产文件夹中是否存在同名文件,如果存在,请使用webview打开该文件。下面的代码是我到目前为止得到的 Bundle ex

我正在开发一个Android应用程序,我有一个小问题。我在Assets文件夹中有一个html文件列表,所有文件都根据国家名称命名,如“United Kingdom.html”,我让用户从列表视图中选择国家名称,我从列表中获取国家名称并将其保存为名为“country_name”的字符串,然后将其作为“value”字符串传递给不同的活动。我试图找到一个解决方案,基本上检查资产文件夹中是否存在同名文件,如果存在,请使用webview打开该文件。下面的代码是我到目前为止得到的

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        String value = extras.getString("country_name");
        result_info = (TextView) findViewById(R.id.result_info);
        result_info.setText(value);
        try {
            Arrays.asList(getResources().getAssets().list("")).contains(value);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        webview = (WebView) findViewById(R.id.webview);
        webview.loadUrl("file:///android_asset/United Kingdom.html");
}
提前谢谢


编辑: 我可能已经找到了一个可能的解决办法。基本上,以字符串数组的形式获取文件名列表,然后将其与我的字符串(“value”+“.html”)进行比较

试试这个

AssetManager am = getAssets();
String fileList[] = am.list("");

 for (String fileName : fileList) {

  if (fileName.equals(value+"addExtensions")) {  
     webview.loadUrl("file:///android_asset/"+filename);
   }
}

哈哈,这正是我在想的,我要试试。谢谢,伙计:)让它发挥作用了。起初,它崩溃并返回nullpointerexception+两个格式化要求。我将编辑我的原始帖子,以便其他人可以看到我是如何解决它的。谢谢:)
        AssetManager am = getAssets();
        String extension = ".html";
        try {
            String fileList[] = am.list("");
            //checking if any file gets returned from the array
            //result_info.setText(fileList[1]);
            for (String fileName : fileList) {

                  if (fileName.equals(value+extension)) {  
                      //checking what the filename looks like 
                      //result_info.setText(fileName);
                      webview = (WebView) findViewById(R.id.webview);
                      webview.loadUrl("file:///android_asset/"+fileName);
                   }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
AssetManager am = getAssets();
String fileList[] = am.list("");

 for (String fileName : fileList) {

  if (fileName.equals(value+"addExtensions")) {  
     webview.loadUrl("file:///android_asset/"+filename);
   }
}