たとえば、変更されるコードを取得しようとしています
"^^テキスト^^"
このようなものに
「テキスト」
そのため、^^ トークンを削除し、「テキスト」文字列にスパン可能なテキストを追加して太字にする必要があります。今、私はこのコードを持っています。
public void format()
{
TextView textView = (TextView) findViewById(R.id.test);
CharSequence text = null;
if(textView != null)
{
text = textView.getText();
}
String token = "^^";
if(text != null)
{
int length = text.length();
int start = text.toString().indexOf(token) + length;
int end = text.toString().indexOf(token, start);
if (start > -1 && end > -1)
{
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
ssb.setSpan(new ForegroundColorSpan(0x000000), start, end, 0);
ssb.delete(end, end + length);
ssb.delete(start - length, start);
text = ssb;
System.out.println("format");
}
System.out.println("works");
}
textView.setText(text);
System.out.println("running");
}
このコードは、次のような onCreate で呼び出されます。
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
format();
setContentView(R.layout.activity_tutorial_basic_file_test);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
これは私が使用している XML レイアウト ファイルです。
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="@string/empty" />
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test_text"
android:textColor="#FFFFFF" />
</LinearLayout>
</ScrollView>
最後に、リソース ファイルで使用している文字列です。
<string name="test_text">Test string ^^ for ^^ formatter code</string>
私は何を間違っていますか、またはどうすればよいですか?