21

またはでテキストを強調表示することは可能ですTextViewWebView

私はそれが可能であると思いますEditText

EditTextのHighlighテキスト

TextViewまたはで同じことをしたいのですがWebView
それは可能ですか?

4

4 に答える 4

61

TextViewのスパン可能なストレージを有効にします!デフォルトでは、EditTextのスパン可能ストレージはtrueです。

それで

TextView myTV = (TextView)findViewById(R.id.textView1);
String  textString = "StackOverFlow Rocks!!!"; 
Spannable spanText = Spannable.Factory.getInstance().newSpannable(textString);
spanText.setSpan(new BackgroundColorSpan(0xFFFFFF00), 14, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTV.setText(spanText);
于 2010-01-22T20:14:51.103 に答える
1

同様に、この1つのソリューションをに使用できますWebView。電話findAllAsync

webview.findAllAsync(((EditText) findViewById(R.id.edit)).getText().toString());

に追加FindListenerするよりWebView

    webview.setFindListener(new FindListener() {

        @Override
        public void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches, boolean isDoneCounting) {
            Toast.makeText(getApplicationContext(), "Matches: " + numberOfMatches, Toast.LENGTH_LONG).show();
        }
    });

webview.findNext(false);false/trueが方向を示す場所で結果を繰り返します。

しかし、このソリューションはで追加されましたAPI level 16!!! 代わりに、higlihting用にJavaScriptを設定できます-http ://www.nsftools.com/misc/SearchAndHighlight.htm

于 2013-10-28T11:00:35.007 に答える
0

にとってTextView

textView.setTextIsSelectable(true)アクティビティ、フラグメント、またはアダプタで使用できます。

于 2021-03-08T16:03:28.820 に答える
-1

実際、この機能を自分で開発する必要はありません。EditTextのandroid:editableをfalseに設定している間は、TextViewの代わりにEditTextを使用する必要があります。

私の答えはここにあります、それがあなたを助けるかもしれないことを願っています:

https://stackoverflow.com/a/11026292/966405

于 2012-06-14T03:39:37.763 に答える