繁体   English   中英

单声道Android中的搜索对话框

[英]Search Dialog in Mono Android

我正在尝试按照此处的文档在Mono Android应用中实现搜索对话框: http//developer.android.com/guide/topics/search/search-dialog.html

我有一个用户应该可以搜索的活动:

[Activity (Label = "MyActivity", MainLauncher = true, Icon = "@drawable/icon", Theme = "@style/MyStyle")]
[MetaData ("android.app.default_searchable", Value = ".SearchActivity")]
public class MainActivity : BaseActivity {...

我有一个可搜索的活动(繁重的地方会发生):

[Activity(Theme = "@style/MyStyle", Label = "Searchable", LaunchMode = Android.Content.PM.LaunchMode.SingleTop)]
[IntentFilter(new[] { Intent.ActionMain }, Categories = new[] { Intent.CategoryLauncher, Intent.ActionSearch })]
[MetaData("searchable", Resource = "@xml/searchable")]
public class SearchActivity : BaseActivity { ...

我有我的searchable.xml:

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

当我在MainActivity中按下手机上的搜索键时,没有任何反应 - 没有对话框。 我认为我的问题在于如何在运行时将属性转换为AndroidManifest.xml但我不确定。

更新2012年1月3日:我已经发布了一个项目,该项目在这里被提炼为最基本的元素。 按Android上的搜索按钮,您应该看到SearchDialog,但它没有出现: Demo Project Here

问题出在MainActivity[MetaData]属性中。 如果您提供了类的正确命名空间版本,则会正确显示搜索对话框:

[MetaData ("android.app.default_searchable", Value = "searchdialogtest.SearchActivity")]
public class MainActivity : BaseActivity {

在你的serachable.xml中你不能有一个常量字符串作为名称和提示......它们应该动态链接@string/my_app_name @string/my_hint

一切正常!

我觉得在清单文件中,searachable元数据标签不合适(android:name =“android.app.searchable”)

示例清单 - MainActivity标记 -

<activity android:name=".MainActivity"> <meta-data android:name="android.app.default_searchable" android:value="pckname.SearchClass"/> </activity>

SearchActivity标签 -

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM