您的位置:首页 > 移动开发 > Android开发

Android 搜索到的关键字改变颜色

2014-12-04 18:41 316 查看
private class MyAdapter extends BaseAdapter {

@Override

public int getCount() {

return mAnchors.size();

}

@Override

public Object getItem(int position) {

return mAnchors.get(position);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int arg0, View arg1, ViewGroup arg2) {

LayoutInflater mInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

View mView = mInflater.inflate(R.layout.cell_anchor, arg2, false);

ImageView mImage = (ImageView) mView

.findViewById(R.id.search_anchor_image);

TextView mTextName = (TextView) mView

.findViewById(R.id.search_anchor_name);

TextView mTextId = (TextView) mView

.findViewById(R.id.search_anchor_id);

int chageTextColor;

ForegroundColorSpan redSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue));

LiveRoom anchor = mAnchors.get(arg0);

SpannableStringBuilder builder = new SpannableStringBuilder(

anchor.anchorName);

chageTextColor = anchor.anchorName.indexOf(mSearchText);

if (chageTextColor != -1) {

builder.setSpan(redSpan, chageTextColor, chageTextColor

+ mSearchText.length(),

Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

mTextName.setText(builder);

} else

mTextName.setText(anchor.anchorName);

SpannableStringBuilder builder1 = new SpannableStringBuilder(

String.valueOf(anchor.anchorId));

chageTextColor = String.valueOf(anchor.anchorId).indexOf(

mSearchText);

if (chageTextColor != -1) {

builder1.setSpan(redSpan, chageTextColor, chageTextColor

+ mSearchText.length(),

Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

mTextId.setText(builder1);

} else

mTextId.setText(String.valueOf(anchor.anchorId));

return mView;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: