2011-08-16 58 views
4

我已經使用了androids指南上給出的教程,並在設備或菜單項上按下搜索按鈕之後,完成了所有需要的操作。它不會打開搜索對話框。 我從這裏得到的教程http://developer.android.com/guide/topics/search/search-dialog.html安卓搜索對話框不起作用

我必須在這裏發佈我的示例代碼,所以你們可以看看它,並幫助如果可能的話,所以我可以知道我要去哪裏錯了。在對話框中應該會出現

<activity android:name=".testAndroid" 
        android:theme="@android:style/Theme.NoTitleBar"> 
        <meta-data android:name="android.app.default_searchable" 
        android:value="com.tester.android.Search" /> 
     </activity> 

活動,返回的搜索結果

<activity android:name=".Search" android:label="Search"> 
      <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> 

我在res搜索的文件/ XML文件夾 活動

<?xml version="1.0" encoding="utf-8"?> 
<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="XYZ.com" 
    android:hint="Search XYZ.com" > 
</searchable> 

活動,顯示結果

public class Search extends ListActivity { 

    private Vector<?> loadedArticles; 

    @Override 
    protected void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     setContentView(R.layout.articles); 
     Intent intent = getIntent(); 
     String query=""; 
     if (Intent.ACTION_SEARCH.equals(intent.getAction())) { 
      query = intent.getStringExtra(SearchManager.QUERY); 
     } 

     boolean articlesLoaded = findArticles(query); // it shows results and renders it. 

    } 
} 

有人可以幫助我,爲什麼按下搜索硬件按鈕後我看不到搜索對話框。

+0

你可以很容易地做到這一點。請參閱此處的答案:https://stackoverflow.com/a/44131089/3649347 – GeekOnJava

回答

12

最後我自己找到了解決問題的辦法

<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="XYZ.com" 
    android:hint="Search XYZ.com" > 
</searchable> 

在這裏,我已經使用lablel和提示,直接串。相反,我們需要使用@ string/label 我的意思是我們的字符串應該在strings.xml中,然後使用它們。 這是Android中的錯誤。

+0

我仍然有問題 – paiego

+0

謝謝.. Pfffff .. – eento