gpt4 book ai didi

Android搜索建议,为什么要输入整个单词才能获得建议?

转载 作者:行者123 更新时间:2023-11-29 21:11:09 24 4
gpt4 key购买 nike

我有一个启用了建议的搜索小部件。一切正常,但我必须写下整个单词才能获得建议。

我已经设置了-android:searchSuggestThreshold="2",但仍然需要完成一个单词(5-6)个字符,才能获得建议。为什么?

我真的非常感谢您的帮助。谢谢!

list :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exploreca.tourfinder"
android:versionCode="1"
android:versionName="1.0" >

<uses-permission android:name="android.permission.CALL_PHONE" />

<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_exploreca"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.exploreca.tourfinder.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SettingsActivity">
</activity>
<activity
android:name=".TourDetailActivity">
</activity>
<!-- Search results activity -->
<activity android:name=".SearchActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>

<meta-data
android:name="android.app.default_searchable"
android:value=".SearchActivity" />

<provider
android:name=".SearchContentProvider"
android:authorities="com.exploreca.tourfinder.SearchContentProvider" >
</provider>

</application>
</manifest>

部分在 SearchContentProvider 中使用:

@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {

Log.i(LOGTAG, "The typed characters are: " + selectionArgs[0]);

SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
builder.setTables(ToursDBOpenHelper.TABLE_TOURS);

HashMap<String, String> columnMap = new HashMap<String, String>();
columnMap.put(BaseColumns._ID, ToursDBOpenHelper.COLUMN_ID + " AS " + BaseColumns._ID);
columnMap.put(SearchManager.SUGGEST_COLUMN_TEXT_1, ToursDBOpenHelper.COLUMN_TITLE + " AS " + SearchManager.SUGGEST_COLUMN_TEXT_1);
columnMap.put(SearchManager.SUGGEST_COLUMN_INTENT_DATA, ToursDBOpenHelper.COLUMN_ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA);
builder.setProjectionMap(columnMap);

dbhelper = new ToursDBOpenHelper(getContext());
//database = dbhelper.getReadableDatabase();

SQLiteDatabase db = dbhelper.getWritableDatabase();
cursor = builder.query(db, projection, selection, selectionArgs, null, null, null, null);

return cursor;
}

和 searchable.xml:

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="@string/search_hint"
android:label="@string/app_name"
android:searchSuggestAuthority="com.exploreca.tourfinder.SearchContentProvider"
android:searchSuggestIntentAction="android.intent.action.VIEW"
android:searchSuggestSelection="city LIKE ?"
android:searchSuggestThreshold="2"
android:includeInGlobalSearch="true"/>

最佳答案

我已经弄明白了,感谢这个 post .要在输入第一个或第二个单词后显示建议,我们需要“通配符”:

"city LIKE '%' || ? || '%'"

关于Android搜索建议,为什么要输入整个单词才能获得建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com