2

今、私はシンプルなノートアプリを書いています。そして、EditTextでフォーマットされた個別の選択されたテキストを表示する必要があります。

私は試した、

EditText et = (EditText)findViewById(R.id.edittext);
String string;
int startSelection = et.getSelectionStart();
int endSelection = et.getSelectionEnd();

string = et.getText().toString();
string.substring(startSelection, endSelection);



Spanned s = Html.fromHtml("<font color=\"red\">" + string + "</font>");

et.setText(s);

このソリューションでは、選択した個別のテキストのみが表示されます。しかし、私は他のテキストの中でフォーマットされたテキストを表示する必要があります。何も思いつきません。

UPD:ユーザーがボタンをクリックするとフォーマットが発生します。

4

3 に答える 3

2

これを試して

EditText text = new EditText(this); 
text.setText(Html.fromHtml(html));
text.setMovementMethod(LinkMovementMethod.getInstance());
于 2012-07-06T13:45:13.210 に答える
1

これを使ってみてください

String string = et.getText().toString();
    String selectedString = string.substring(startSelection, endSelection);

    Spanned s = Html.fromHtml(string.replace(selectedString, "<font color=\"red\">" + selectedString + "</font>"));
于 2012-07-06T13:33:53.933 に答える
0

テキストの書式設定について話している場合は、いつでもこのようにすることができます

EditText et = new EditText(this);
et.setText(Html.fromHtml("Simple Text <B>Formatted Text</B> Simple Text Again"));

そしてlinkify、テキストの特定の部分が必要な場合は、このブログを使用してこのようにします

    EditText mTextSample = new EditText(this);
    String text = "click to see stackoverflow.com here";   
    mTextSample.setText(text);        
    Pattern pattern = Pattern.compile("stackoverflow.com");   
    Linkify.addLinks(mTextSample, pattern, "http://"); 
于 2012-07-06T13:35:21.187 に答える