我正在使用SQLite全文搜索实现搜索功能.我想像Google搜索一样用粗体查询文本显示结果!我已经实现了类似下面的代码,但是它通过将视图绑定到光标适配器并设置TextView的文本格式来显示纯文本,而没有任何HTML格式.我无...
我正在使用SQLite全文搜索实现搜索功能.我想像Google搜索一样用粗体查询文本显示结果!我已经实现了类似下面的代码,但是它通过将视图绑定到光标适配器并设置TextView的文本格式来显示纯文本,而没有任何HTML格式.我无法弄清楚代码中的错误之处?任何帮助请!
我在DatabaseAdapter类中的搜索功能是:
public Cursor searchText(String inputText) throws SQLException
{
Log.w(TAG, inputText);
String query = "SELECT "+
"docid as _id," +
KEY_NAME + "," +
KEY_INDEX + "," +
KEY_TEXT_en + "," +
KEY_TEXT_ur + "," +
KEY_TRANS_ur + "," +
"hex(matchinfo("+FTS_VIRTUAL_TABLE+")) AS "+KEY_OCCURRENCES+"," +
"snippet("+FTS_VIRTUAL_TABLE+",'<b>','</b>')" +
" from " + FTS_VIRTUAL_TABLE +
" where ("+ FTS_VIRTUAL_TABLE +") MATCH '" + "\""+"*"+inputText+"\"*"+" ';";
Log.w(TAG, query);
Cursor mCursor = mDb.rawQuery(query,null);
if (mCursor != null)
{
mCursor.moveToFirst();
}
return mCursor;
}
在活动类中向用户显示结果的show Results函数是:
public void showResults(String query)
{
Cursor cursor = mDbHelper.searchText((query != null ? query.toString() : "@@@@"));
if (cursor == null)
{
}
else
{
// Specify the columns we want to display in the result
String[] from = new String[]
{
DbAdapter.KEY_TEXT_en,
DbAdapter.KEY_INDEX,
DbAdapter.KEY_NAME,
};
// Specify the Corresponding layout elements where we want the columns to go
int[] to = new int[]
{
R.id.TextEnTv,
R.id.IndexTv,
R.id.NameTv
};
final SimpleCursorAdapter cursorAdapter = new simpleCursorAdapter(this,R.layout.search_results, cursor, from, to);
cursorAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view,Cursor cursor, int columnIndex) {
if (columnIndex == cursor.getColumnIndex(DbAdapter.KEY_TEXT_en)) {
TextView myView = (TextView) findViewById(R.id.TextEnTv);
myView.setText(Html.fromHtml(cursor.getString(cursor.getColumnIndex(DbAdapter.KEY_TEXT_en))));
return(true);
}
return(false);
}
});
mListView.setAdapter(cursorAdapter);
解决方法:
文本视图显示未格式化的文本,因为代码告诉它显示KEY_TEXT_en列的内容,即未格式化的文本.
要显示摘录功能的结果,请为其命名:
SELECT ... snippet(...) AS snippet ...
并将该列用于文本视图.
沃梦达教程
本文标题为:android-SQLite代码段功能实现未在TextView中将文本格式设置为HTML
基础教程推荐
猜你喜欢
- 我用什么结构类型的HTML内容(MySQL) 2023-10-27
- 深入探讨CSS中字体元素 2022-10-16
- 使用JavaScript实现简单图像放大镜效果 2022-08-30
- SpringMVC环境下实现的Ajax异步请求JSON格式数据 2022-12-28
- ajax用json实现数据传输 2023-01-31
- C#-Windows Store应用中的HtmlAgilityPack 2023-10-25
- JavaScript股票的动态买卖规划实例分析上篇 2022-10-21
- 小心:CSS代码书写顺序不同,导致显示效果不一样 2022-11-04
- ajax和jsonp跨域的原理本质详解 2023-02-14
- 使用HTML5中postMessage知识点解决Ajax中POST跨域问题 2022-10-17