بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
بدست آوردن متن مورد نظر از بین متن یک string و انجام عملیات بر روی آن
با سلام
بنده یک رشته طولانی رو از دیتابیس لود میکنم
حالا میخوام بگم این رشته که به یک Textview نسبت دادم ، اگر داخل متنش مثلا کلمه ی سلام بود
بیاد و رنگ کلمه سلام رو تغییر بده
و قبل و بعد این کلمه تغییر روشون اعمال نشه
0
0
لینک (10 سال پیش)
0
0
خیلی ممنونم
ولی من میخوام فقط به عنوان مثال هر چی کلمه سلام هست رنگش آبی بشه
نتونستم از این لینک سر در بیارم (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
amirhossein1376
10 سال پیش
+1
0
میتونید با حلقه های for تو در تو جایگاه هایی که کلمه مورد نظرتون تو اون قرار دارن رو پیدا کنید بعدش بیاین و اون جایگاه ها رو تو دوتا آرایه(یکی واسه حروف اول و اون یکی واسه حروف آخر کلمه) استفاده کنین حالا با استفاده از کد زیر دیزاین مورد نظرتون روی متن رو به دست بیارینا
final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");
final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158));
// Set the text color for first 4 characters sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); yourTextView.setText(sb);
این تکه کد رو آزمایش نکردم ولی احتمالا درست نوشتم اگه اشتباه هم باشه دیگه با خودتون یه خورده جزیی شاید ویرایش بخواد
String a = "your Text";
final SpannableStringBuilder sb = new SpannableStringBuilder(a);
final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158));
char[] starts = new char[a.length()];
int c = 0;
for (int i = 0; i < a.length() - 4; i++) {
String f = a.substring(i, i + 4);
if (f == "wprd") {
starts[c] = f.charAt(i);
c++;
}
}
for (int i = 0; i <= c; i++) {
sb.setSpan(fcs, starts[i], starts[i] + 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .