android上的搜索对话框根本没有出现。我怎么给它充气,盒子没出现?

时间:2014-07-10 17:29:23

标签: android xml search dialog android-manifest

我遵循了本教程: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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您缺少该指南中最重要的内容。是的,搜索对话框需要充气。

我认为你还没有在指南中看到完整的教程。 检查在您发布的链接中创建搜索小部件。他们给出了示例代码。

您可以在此sample-Seachable Dictionary

中获得有关您的问题的更多信息