2016-12-18 13 views
0

、私が「HREF」のハイパーリンクを変更したい電話ローカル言語に応じて自分のアプリケーション画面内のハイパーリンクのアドレスを変更することができます。 ユーザーローカル言語は私が「HREF」のハイパーリンクを変更したい、Germayある場合 - ドイツ語:http://de.example.comは、どのように私は動的に電話ローカル言語が日本語であれば

のstrings.xmlコンテンツ

<string name="info"> 
    <![CDATA[ 
    <P/>Hi,For more information tap <a href="http://example.com">here</a>. 
    ]]> 
</string> 

私はWebViewのを使用してアンドロイドでのstrings.xmlから内容をロードしています

final WebView webView = (WebView) findViewById(R.id.webview); 
WebSettings webSettings = webView.getSettings(); 
String data = getString(R.string.info); 

webView.loadDataWithBaseURL(nll,data,"text/html", "utf-8", null); 

私は電話で現地語にxml.Basedの変更を行うためにwebView.loadDataWithBaseURLを呼び出していない前に、アンドロイドのコードに変更したいです。アンドロイドクラスの

ハードコーディング多くのurlは、良いアイデアではありません。

お勧めします。

答えて

1

あなたは携帯電話の言語 例に基づいて異なるのstrings.xmlを作成することができます。詳細については、

MyProject/ 
    res/ 
     values/ 
      strings.xml 
     values-es/ 
      strings.xml 
     values-fr/ 
      strings.xml 

、あなたが参照できます。https://developer.android.com/training/basics/supporting-devices/languages.html

あなたはコードでそれを行うにしたい場合は、

を使用 "EN"、 "ES" のようなあなたの言語コードを返します
Locale.getDefault().getLanguage() 

など

+0

私はすでにあなたが、私は多くの言語がサポートされているsuggested.Suppose、および言語に応じてとして、すべての値に変化するハードコードへのURLの必要性を変更するよう、異なる値を作成しました。しかし、あなたは動的にいくつかの定数ファイルからUrlを取得するjavaコード自体のURLを割り当てる任意のメソッドを提案することができます。 "webView.loadDataWithBaseURL(nll、data、" text/html "、" utf-8 "、null)を呼び出す前に" – Pause

+0

XMLはすべての言語関連のものを整理しておくことが推奨されますが、 Locale.getDefault()。getLanguage()を使用して、 "en"、 "es"などの言語コードを返します。 – Aaqib

+0

迅速な返信Aaqib.Iをお試しいただきありがとうございます。言語の数が増えています。私はコードでそれを行う必要がありますxml.Canあなたが助けてくださいコードでメソッドを最適化することをお勧めします。 – Pause

関連する問題