我正在使用此代码... 它运作良好......
String x = showdata.get(SearchResults.TAG_SHOP_SECTION_ITEM_DESC);
int positions[] = new int[100];
Spannable WordtoSpan = new SpannableString(x);
int index = 0, i = 0;
while (index != -1)
{
index = x.indexOf(MainActivity.SearchWord, index);
if (index != -1)
{
WordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), index,
index+MainActivity.SearchWord.length()
, Spannable.SPAN_COMPOSING);
index++;
i++;
}
}
itemDESC.setText(WordtoSpan);
然而,当使用阿拉伯语时,它似乎会从字符串的其余部分中断搜索字,因为在很多情况下阿拉伯字母相互连接,而不是像未连接的英文字母。所以在阿拉伯语中找到了搜索词,颜色发生了变化,但也将它与下一个字母分开了!