我正在尝试获取一些例如会更改的代码
“^^文字^^”
变成这样
“文字”
所以我需要它来删除 ^^ 标记并在“text”字符串上添加一个 Spannable Text 使其变为粗体。现在我有这个代码。
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>
我做错了什么或者我应该怎么做?