2012-01-11 10 views

答えて

1

あなたはドイツ語file-de.htmlのような非英語のファイルのための特別な名前を与え、その後、次のコードを使用することができますが:

private static String getFileName() { 
    Configuration config = getResources().getConfiguration(); 
    InputStream stream = null; 
    try { 
     String name = "file-" + config.locale.getLanguage() + ".html"; 
     stream = getAssets().open(name); 
     return name; 
    } catch (IOException exception) { 
     return "file.html"; 
    } finally { 
     if (stream != null) { 
      stream.close(); 
     } 
    } 
} 
+0

ありがとうピクシー。私の問題を解決するには良い方法です:)私たちは他のより良い方法を解決するには、資産コードを "assets-de"どのようにして異なるlanugangeに適応するのかを知っていますか?(私は "資産 - de"はうまくいかないと知っています、ただの例です:) – Dalen

+0

私はこれを私のプロジェクトで使っています。しかし、より良い解決策を見つけることができます。この検索に成功したら、教えてください。 – Michael

0

は例を提供することにより、より正確である必要があり、新しい答えを追加しました。

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューから](/レビュー/低品質の投稿/ 18634071) – thewaywewere

0

「文字列値」を使用すると、追加のJavaコードを使用せずにgetString()を使用するだけで、Android言語に依存するHTMLファイル名を取得できます。ここでは2言語のための例です:ファイル

<string name="html_help_basepage">en_help.html</string> 

デ/のstrings.xml:ファイル値/のstrings.xml

<string name="html_help_basepage">some_german_help.html</string> 

などなど...

Javaコード(問題のアセットフォルダ内のローカルファイルから読み込み)

helpView = (WebView) findViewById(R.id.wv_help); 
String adaptedToLanguage = getString(R.string.html_help_basepage)   
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage); 

追加のJavaコードは必要ありません。これが参考になり、その質問に答えてくれることを願っています。

関連する問題