整个应用程序中的全局“搜索功能”

2024-06-19

在我的整个应用程序中,我希望搜索按钮执行单独的操作Activity。即,当我按下搜索按钮时,从应用程序中的任何位置调用一个单独的活动。

有什么方法可以代替定义onSearchRequested()在每项活动中,我只是在一个地方配置它(例如Manifest.xml)并且它可以在整个应用程序中使用?


您可以定义一个(不一定)扩展 Activity 的抽象类,在那里实现 onSearchRequest 并从该类继承所有其他 Activity 类。通过这种方式,您只需定义 onSearch 行为一次。

i.e.

public abstract class MyBaseActivity extends Activity {
    @Override
    public void onSearchRequest() {
       // Your stuff here
    }
}

public class MyActivity1 extends MyBaseActivity {
   // OnSearchRequest is already implemented
}

如果您计划使用 Activity 的多个子类,即 ListActivity,这可能不是一个好的解决方案,因为您必须为您使用的所有 Activity 子类创建一个抽象基类。在这种情况下,我建议创建一个额外的类,封装搜索按钮处理代码并从您的 onSearchRequest 活动中调用它,即

public class SearchButtonHandle {
    public void handleSearch(Context c) {
       // Your search btn handling code goes here
    }  
}

public class MyActivity1 extends Activity {  // Or ListActivity ....
    @Override
    public void onSearchRequest() {
       new SearchButtonHandle().handleSearch(this);
    }
}

当然,您也可以通过定义您使用的所有 Activity 子类的抽象子类来组合这两种方法,并使用外部搜索处理程序实现 onSearchRequest,如上面的示例所示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

整个应用程序中的全局“搜索功能” 的相关文章

  • 离线安装 android 很困难[已过时]

    我是非洲的一名学生 在我们的土地上 实际上存在缓慢且昂贵的互联网连接 这就是为什么每当我们听到 在线存储库 安装软件方法这个词时我们都会感到恐惧 该死 这通常意味着你必须去别处寻找 问题 如果没有将 Eclipse 连接到互联网 我无法安装
  • 在 Android 的 Renderscript 中,使用 rs_script_call 结构来限制 rsForEach 调用期间操作的分配范围

    使用 Android 的 RenderScript 我尝试限制 rsForEach 调用期间操作的分配范围 根据文档 您可以通过传递 rs script call 结构来实现此目的 但每当我尝试此操作时 应用程序都会崩溃 rs script
  • 如何在每个项目的列表视图中实现简单的点赞按钮

    我的列表视图项目中有某些条目 我有一个简单的 喜欢按钮 不是像 Facebook 的按钮 您可以看到上面提到的屏幕截图 供参考 当我点击 喜欢 按钮的那一刻 我希望更改 喜欢 按钮的颜色 并且 喜欢 按钮的颜色应保持不变 改变了喜欢 当我再
  • 如何编写带有回调的简单react-native本机模块

    如何以最简单的方式完成这项工作 我无法将回调发送到react native 可能我错过了一些东西 ReactMethod public void testCallback Callback cb String sampleText Java
  • 如何理解javascript React中的这段代码

    我在网上找到了这个函数在js中的实现 这个函数递归地过滤一个对象数组 每个对象可能有属性 children 它是对象数组 并且对象也可能有孩子等等 该函数工作正常 但我有点不明白 这是我的功能 getFilteredArray array
  • 用于编辑文本的电子邮件键盘

    以下代码似乎不起作用 我想要电子邮件键盘 and com显示编辑文本 emailEditText setInputType InputType TYPE TEXT VARIATION EMAIL ADDRESS 将其添加到您的布局中 and
  • 在android中添加音频到视频

    我想开发一个可以录制视频 mp4 的android应用程序 然后我的资源文件夹中有一些音频文件 mp3 我想将其添加到视频的末尾 所以最终的效果就像首先播放视频 在视频结束时会听到添加的音频 我该怎么做 合并具有不同音频编解码器的文件并不容
  • Android 上有某种 ASLR 保护吗?

    我想知道是否有人可以访问具有从程序的一个实例到另一个实例的函数地址相同的库 在同一设备上运行时 地址空间布局将非常一致 许多主要系统库都是由 zygote 预加载的 因此由它分叉出来的子级继承为共享映射 以区分为应用程序 我认为在虚拟内存级
  • Android AsyncTask 启动另一个 AsyncTask

    我目前正在 AsyncTask 的 onPostExecute 方法中执行类似的操作 其中NewTask is not当前正在执行的任务 private class OlderTask extends AsyncTask
  • 如何在 Android 上将 ISO 8601 字符串解析为 Java 日期 [重复]

    这个问题在这里已经有答案了 我正在 Android 上创建一个与服务器通信的应用程序 该服务器给我返回了一个ISO 8601 http en wikipedia org wiki ISO 8601日期字符串 如下所示 2014 11 21
  • Android ListView:当内容发生变化时,如何保持ListView位于顶部?

    我有一个视图 其中包含绑定到游标适配器的 ListView 当光标内容更改时 我想将 ListView 保留在顶部 然后在我的自定义光标适配器中添加 Override protected void onContentChanged myLi
  • Android avd 管理器根本不工作 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我最近想尝试创建一个 Android
  • 通过选中/取消选中 CheckBoxPreference 来启动/停止服务

    我正在编写一个通过选中或取消选中来启动或停止服务的应用程序CheckBoxPreference我试图找到一些信息 例如示例代码或教程 但我还没有找到 如何通过选中或取消选中来启动或停止服务CheckBoxPreference这是在Prefe
  • 如何同时运行两个FOR循环

    我正在使用加速度计 第一个代码是振动检测器 代码1 if sensor SensorManager SENSOR ACCELEROMETER long curTime System currentTimeMillis long now Sy
  • 在android上获取电池温度

    android 如何获取电池的温度 http developer android com reference android os BatteryManager html http developer android com referen
  • Android 应用程序中最用户友好的布局选项

    所以我面临的问题不是主观判断什么对用户最好 我认为 而是有哪些选项可以用来说明定位 Think of some sort of team sports app where you can put little dots for player
  • 带图标的 Android ContextMenu 选项

    Hi All 我有一个简单的问题 是否可以将带有图标的菜单项添加到上下文菜单中 我搜索过这个问题 发现这是不可能的 但是在 Android 设备的主屏幕中 当我长按时 会显示 添加到主屏幕 上下文菜单 其中包含带有文本的菜单项和图标 所以我
  • admob 连接被拒绝

    我刚刚开始将 admob 添加到我的 Android 应用程序中 并开始使用 admob 网站上提供的横幅必需品示例 这是示例代码 public class BannerEssentials extends Activity Overrid
  • .so 文件的 objdump?需要帮助来理解消息

    我正在开发一个与流相关的本机应用程序 我在我的 c 模块中遇到了一些问题 我收到的是来自 Logcat 的一些消息 这是 Logcat 消息 INFO DEBUG 28 Build fingerprint generic sdk gener
  • facebook accesstoken 存储在共享首选项中 (Android)

    我正在尝试存储来自 Facebook 的访问令牌以供以后使用 为此 我想使用 SharedPreferences 因此 我得到了字符串部分 令牌 和过期日期 如示例所示 final String MY PREFS NAME MyPrefsF

随机推荐