У меня есть диалоговое окно поиска, которое должно быть предложено из базы данных, как показано здесь http://developer.android.com/images/search/search-suggest-custom.png.Android - диалог поиска с пользовательскими предложениями
Диалоговое окно поиска будет показано вверху, когда я нажму элемент меню панели действий. Когда пользователь начинает вводить текст, он должен искать соответствующий db и отображать предложения соответствующим образом. На данный момент у меня есть диалог поиска, но когда пользователь вводит текст, никаких предложений не отображается.
мой поставщик контента:
public class MyCustomSuggestionProvider extends ContentProvider {
SQLiteDatabase db;
SQLiteQueryBuilder qb;
String sqlTables = "countries";
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
@Override
public String getType(Uri uri) {
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
return null;
}
@Override
public boolean onCreate() {
return false;
}
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
MyDatabase myDB = new MyDatabase(getContext());
db = myDB.getReadableDatabase();
Cursor c = null;
if (selectionArgs != null && selectionArgs.length > 0
&& selectionArgs[0].length() > 0) {
qb = new SQLiteQueryBuilder();
String[] sqlSelect = { "name" };
qb.setTables(sqlTables)
c = qb.query(db, null, selection, selectionArgs, null, null,
null);
c.moveToFirst();
} else {
return null;
}
return c;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
return 0;
}
}
мой манифест:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Visa" >
<provider
android:name="com.m7.visa.contentprovider.MyCustomSuggestionProvider"
android:authorities="com.m7.visa.contentprovider.MyCustomSuggestionProvider" >
</provider>
<activity
android:name="com.m7.visa.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
</application>
мой поиск конфигурации:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="hint..."
android:label="@string/app_name"
android:searchSuggestAuthority="com.m7.visa.contentprovider.MyCustomSuggestionProvider"
android:searchSuggestIntentAction="android.intent.action.VIEW"
android:searchSuggestSelection=" ?" >
</searchable>
любая идея, где я буду неправильно?
Что ошибка вы получаете? –
@HarshaMV Я не получаю никакой ошибки, когда я набираю что-то в диалоговом окне поиска, нет показанного sugesstion –