Мне нужно выбрать конкретную строку в динамическом контенте из базы данных.В каждой строке таблицы несколько строк начинаются с <#c>.Я хочу выбрать и отцентрировать строку, которая начинается с <#c>.Я использую SpannableString.Я могу удалить <#c>, но все тексты становятся по центру.
Моя проблема в том, что я не могу выбрать конкретную линию.В
setSpan (Object what, int start, int end, int flags)
Как я буду писать начальный и конечный символы?
Моя проблема с
int start and int end
Как я буду использовать spannableString.length () для intstart и int end.
Ниже показано содержимое.
|<#c>aaaaaaa |
|bbbbbbbbbb |
|<#c>dddddddd |
|cccccccccc |
|jjjjjjjjjj |
|<#c>ffffffff |
|rrrrrrrrr |
|ggggggggggg |
Я пытаюсь ниже;
TextView textView1 = ((TextView) rootView.findViewById(R.id.text2));
String text1 = args.getString(ARG_OBJECT2);
SpannableString spannableString;
Object standard;
if (text1.contains("<#c>")) {
spannableString = new SpannableString(text1.replaceAll("<#c>", ""));
standard = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER);
spannableString.setSpan(standard, 0, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView1.setText(spannableString);
}
Я проверил следующее:
System.out.println("spannableString.length : " + spannableString.length());
Результат был:
I/System.out: spannableString.length : 1763
I/System.out: spannableString.length : 537
I/System.out: spannableString.length : 931
spannableString.length () принимает все символы в содержимом, а не только те строки, которые содержит <#c>.
Какчтобы получить длину этой конкретной строки, которая содержит <#c>?
xml файл
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ScrlView"
android:fillViewport="true"
android:clickable="true"
android:focusable="true"
android:scrollbars="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:width = "0dp"
android:id="@+id/text2"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="@color/blue"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="5dp"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
С помощью приведенного выше кода все динамическое содержимое в строке таблицы становится «центрированным»».Мне нужно отцентрировать те конкретные строки, которые начинаются с <#c>.