Luk*_*uth -1 java xml search android android-manifest
我目前正在尝试在我的应用中实施搜索。我遵循了Google的教程,但是现在,当我按下“搜索”按钮(位于设备/仿真器上)时,什么也没出现。我不知道为什么。
我的searchable.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<searchable
xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/label_search"
android:hint="@string/search_hint"
android:includeInGlobalSearch="true"
>
</searchable>
Run Code Online (Sandbox Code Playgroud)
这是Search-Activity的Android清单部分:
<!-- Search Activity -->
<activity android:name=".SearchNotes">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
Run Code Online (Sandbox Code Playgroud)
填充我的ListActivity的代码:
private void searchAndDisplay(String query){
SQLiteDatabase db = db_con.getReadableDatabase();
final Cursor c = db.rawQuery(
"SELECT headline, id as '_id' FROM entry WHERE " +
"(headline LIKE '%?%') OR (content LIKE '%?%') ",
new String[]{query, query});
this.startManagingCursor(c);
final ListAdapter searchAdapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_list_item_2, c,
new String[] {"headline", "_id"},
new int[] {android.R.id.text1, android.R.id.text2});
this.setListAdapter(searchAdapter);
db.close();
}
Run Code Online (Sandbox Code Playgroud)
这在模拟器中不起作用,在我的Android设备上也不起作用。我在这里想念什么?
你有没有
<activity android:name=".OtherActivity" ... >
<!-- enable the search dialog to send searches to SearchableActivity -->
<meta-data android:name="android.app.default_searchable"
android:value=".SearchNotes" />
</activity>
Run Code Online (Sandbox Code Playgroud)
在您的活动代码中?如果您愿意,它也可以应用于应用程序。
| 归档时间: |
|
| 查看次数: |
2636 次 |
| 最近记录: |