我遵循了本教程:http://developer.android.com/guide/topics/search/search-dialog.html 我真的不知道该怎么做。搜索对话框是否需要膨胀?我没有在Register活动中写出与搜索框相关的任何内容,我希望它出现在那里,问题是什么?没有任何东西出现,没有搜索框没有对话没有任何东西。
还有一个问题,如果我最终完成这项工作,我是否可以设置Register活动来处理搜索部分,基本上将Searchable活动代码移到Register活动?我只需要在Register活动上执行一次搜索,我希望它能在Register活动本身上显示一个列表视图。然后,用户可以从该列表视图中选择一个值(将从mysql服务器数据库中填充),并将该值放入用于注册用户的字符串中。
可搜索的xml:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint" />
清单:
<activity
android:name=".RegisterActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- enable the search dialog to send searches to SearchableActivity -->
<meta-data android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
</activity>
<activity
android:name=".SearchableActivity"
android:label="@string/title_activity_searchable" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:launchMode="singleTop"
android:resource="@xml/searchable" />
</activity>
的字符串:
<string name="search_hint">Google sucks</string>
<string name="app_name">I hate android</string>
可搜索的活动:
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class SearchableActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_searchable);
// Get the intent, verify the action and get the query
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
//doMySearch(query);
}
}
}
答案 0 :(得分:0)
您缺少该指南中最重要的内容。是的,搜索对话框需要充气。
我认为你还没有在指南中看到完整的教程。 检查在您发布的链接中创建搜索小部件。他们给出了示例代码。
中获得有关您的问题的更多信息