私はwebviewでアプリケーションを持っていますが、私はWebviewの本文からユーザーが選択したテキストを取得しようとしています。あなたは、オペレーティングシステムがiOSのようなものを扱うことができると思うでしょうが、Androidがまったく不十分な多くの場所のうちの1つです。私はこのウェブサイトとgoogleを調べて、私を助けるものは何も見つけませんでした。私のアプリは、幸いにも、私たちがwebviewに読み込むスクリプトと通信するために、javascriptインターフェイスを持っています。私はwebviewからテキストを選択するためにjavascriptを使うことができると思った。 Chromeの私には、JavaScriptの以下のビットでこれを行うことができます。Android:window.getSelection()はwebviewで動作しません
window.getSelection.toString();
今私は、上記のコマンドを実行して、私のjavascriptのメソッドへの結果を返します私のjsファイル内の関数を呼び出すボタンがありますインタフェース。そのメッセージは、私のjavascript関数の結果をトーストします。だから私はテキストを選択し、このボタンを押します。唯一の問題は、私のトーストのメッセージは次のメッセージを返すことです:私は(「.toStringを削除すると
javascript returned:
それは
javascript returned: <my selected text>
を返す必要がありますが)。私のjavascriptのコマンドからの一部とテキストを選択し、なぜこの作業ではないのですか?私はtehの次のメッセージ
javascript returned: undefined
を取得]ボタンを押しますか
ここに私のコードがあります。
myNameSpace.getTextSelection = function()
{
var str;
if (window.getSelection){
str = window.getSelection().toString();
} else {
str = 'does not';
}
window.myJSHandler.getSelectedText(str);
};
、ここでは、Javaの機能は、我々が取得するtryies場合は、テキストの選択は非常に別のクラスのWebTextViewにアンドロイドで行われているので、それは
public void getSelectedText(String text)
{
String str = "function called. it returned: " + text;
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
}
Ravi、Plsがこの反射を追加 –