私のアプリはwebviewを使用していて、assets /フォルダにローカルhtmlファイルを読み込みます。 HTMLファイルwebviewにres/strings.xmlのすべての文字列を使用する方法がありますか?webviewのstrings.xmlの値を使用
Googleで一晩試してみましたが、どんな解決策も得られました。それは可能ですか?
私のアプリはwebviewを使用していて、assets /フォルダにローカルhtmlファイルを読み込みます。 HTMLファイルwebviewにres/strings.xmlのすべての文字列を使用する方法がありますか?webviewのstrings.xmlの値を使用
Googleで一晩試してみましたが、どんな解決策も得られました。それは可能ですか?
@ doc_180のように、javascriptを使用することは素晴らしい選択です。このexampleは、文字列を挿入するのに適しています。
しかし、もちろん、あなたが簡単に何かをすることがあり、たとえば、あなたはWebViewのに渡しているHTMLは次のとおりです。
<body>
<h1>$REPLACE_THIS</h1>
...
あなたがHTMLを追加する前に、あなたは、単に文字列置換/正規表現を置き換えるかすることができますあなた自身の注入文字列のためのwebview。
など。
String html = ... // Any method to load the html file into string
html = html.replace("$REPLACE_THIS", getResouces().getString(R.string.replacement));
webview.loadData(html, "text/html", "utf-8");
更新
それは彼がR.stringで定数文字列を参照して、動的に必要判明。方法は次のとおりです:
public String getStringFromRes(String name){
try{
int resId = R.string.class.getField(name).get(null);
return getResources().getString(resId);
}catch(Exception e){
// no such string
return "empty";
}
}
こんにちは、これを見て、私はうまく動作しないshure。 webvievを次のようにロードしています。 webView.loadUrl( "file:///android_asset/findgps_en.html"); 私のアプリでローカルHTMLファイルが読み込まれていますが、アセット/フォルダ内の別のローカルHTMLファイルにリダイレクトされています – Jerry
ここに何か不足しているかもしれませんが、これらの例は1つの文字列を変更/ ..しかし私がしたいのは、webviewでロードされたhtmlページのres/strings.xmlにすべての刺しゅうを使用できることです。 – Jerry
これで、webviewで読み込まれたhtmlファイルの作成を可能にする方法はありません/res/strings.xmlのすべての文字列を使用するには? – Jerry
どういう意味ですか?その値をWebビューに表示しますか?その場合は、Resourceを使用してその文字列を取得し、コンテンツとしてWebビューに渡します。 – xandy
どのように文字列を使いたいですか? Webviewとアンドロイドのオブジェクトは、javascriptを使用してお互いに話すことができます。 (デモはアンドロイドサンプルで利用可能)。例えば、私はアンドロイド(string.xmlに格納)から渡す警告メッセージをボタンクリックで表示させることができます。 –
@xandy:はい、それは何をしたいのですが、私はそれを行う適切な方法を見つけたか、どのように、私はjavaの文字列を使用するが、HTMLファイルに渡す方法をshure webview – Jerry