【发布时间】:2014-05-28 07:14:47
【问题描述】:
我有一个ListView,我正在使用自定义适配器来显示数据。现在我想像上面的屏幕截图一样更改搜索到的文本字母颜色。
这是SearchView的代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_menu_item, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
.getActionView();
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(this);
return super.onCreateOptionsMenu(menu);
}
public boolean onQueryTextChange(String newText) {
// this is adapter that will be filtered
if (TextUtils.isEmpty(newText)){
lvCustomList.clearTextFilter();
}
else{
lvCustomList.setFilterText(newText.toString());
}
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
谢谢。
【问题讨论】:
-
Spannable String 是您的最佳选择。
-
@AdilSoomro 我想要粗体或改变颜色看起来像上面的屏幕截图(看上面)
-
Spannable String也将涵盖这一点。 -
我知道 Spannable String 被使用,但我不知道如何在我的情况下实现
标签: android string listview search