2016-04-18 11 views
0

私はアプリケーションに含まれている静的HTMLファイルを表示しています。Android Web Viewで静的ファイルをテンプレートとして使用する

HTMLファイルには、スピナーの値に基づいて変更したい特定の文字列があります。

{{文字列1}} {{文字列2}} ... {{stringx}}

ストリングが複数回発生する可能性があり

次のよう

文字列がフォーマットされます。

リスナーを使用してスピナーを変更した結果、ウェブビューで検索と置換を行うことはできますか?

どうすればいいですか?

これを実現するために何とかHTMLでJavaスクリプトを起動することは可能でしょうか?

私の目標を達成するのに役立つなら、私はHTMLファイルのフォーマットを変更することができます。

答えて

0

2つの可能性があります。

最初に、メソッドloadDataWithBaseURLを使用してhtmlを文字列としてロードし、文字列操作を実行します。

2番目:webviewにaddJavascriptInterfaceを追加します。まず用link

例:

InputStream is = getApplicationContext().getAssets().open(“my.html"); 
Reader r = new InputStreamReader(is); 
int size = is.available(); 
char[] buffer = new char[size]; 
r.read(buffer); 
r.close(); 
String data = new String(buffer); 

data = data.replace(“%stringData%”,replaceData); 

webview.loadData(data, "text/html", null); 
+0

あなたは、最初の方法のためのいくつかのサンプルコードを投稿してもらえますか? – earnshae

+0

ありがとう私はそれが正しいとマークして動作する場合は、コードを試してみましょう。そうでない場合、私はもっと質問をします:) – earnshae

+0

あなたの方法は正しいですし、すべてがうまくいくようですが、私はUtils.readertoString(r)で小さな問題が1つありました。 Apache IOUtilsを意味しましたか?またはUtilsはカスタムライブラリですか? リンクに見られるように、私はプロジェクトでそれを持っていたので、私はグアバを使用してしまいました。 http://www.baeldung.com/java-convert-reader-to-string この回答に言及している人が混乱しないようにコードを調整し、正しいものとしてマークします。 – earnshae

関連する問題