使用同一个侦听器的多个活动

2024-05-14

我有 4 个活动,它们都包含一个 xml 页脚,其中包含 4 个按钮(每个活动一个)。 我现在想为这些按钮设置 onclicklistener (它是页脚中的自制菜单)。

问题是,如何使用侦听器以便重用代码? 我有两个想法:

  1. 创建一个实现 onclicklistener 的类,在每个活动中我都会获取按钮,然后创建侦听器类的新实例并执行 button.setOnClickListener(onClickListener) 问题是在侦听器类中,我如何检查哪个按钮调用了该事件? 我将如何创建启动活动的意图,通常我会这样做: Intent意图 = new Intent(FromActivity.this, ToAcitivty.class) 但我没有对 FromActivity 的引用。

  2. 创建一个从 Activity 扩展的基类,然后 4 个 Activity 将从该基类扩展。然后我想在基类中设置侦听器。这里的问题是我无法通过执行以下操作来获取对按钮的引用 按钮button1 = (Button)findViewById(R.id.menu_button1); Button1 将为空。我什至没有调用 setEventView,因为这应该在活动中完成,而不是在基类中完成。

有任何想法吗?

谢谢


相同的代码在这里:

    public class MyClass extends Activity implements View.OnClickListener{
        btnA=(Button)findViewById(R.id.btnA);
        btnA.setOnClickListener(this);
        btnB=(Button)findViewById(R.id.btnB);
        btnB.setOnClickListener(this);


    }
    @Override
    public void onClick(View v)
    {
        Button clickedButton = (Button) v;
        switch (clickedButton.getId())
        {
            case R.id.btnA:
                Intent regIntent = new Intent(Home.this,Registration.class);
                startActivityIfNeeded(regIntent, 1);
                break;
            case R.id.btnB:
                //Some code
                break;
        }
    }

(编辑为原始第一行在代码格式上被破坏。

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

使用同一个侦听器的多个活动 的相关文章

  • 如何在android中实现触摸平滑图像橡皮擦?

    我已经从 API 演示中看到了finturePaint java 我想实现触摸平滑橡皮擦 通过在android中触摸移动来擦除部分图像 FingerPaint 告诉我要实现这个 mPaint setXfermode new PorterDu
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • 如何在android中显示保存在sdcard文件夹中的图像[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我正在显
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • Android 2.3 模拟器在更新位置时崩溃

    我正在使用 Eclipse 编写和调试 Android 应用程序 我需要做的事情之一是更新设备的位置 因此我尝试使用模拟器控制窗口中的位置控制面板 在 手动 选项卡上 我选择 十进制 输入有效的纬度和经度 然后单击 发送 不幸的是 接下来发
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A
  • 我的应用程序中的后退按钮出现问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在手机关闭时清除共享首选项值 你
  • Dagger 2 中“HasFragmentInjector”的实际用法是什么

    我之前已经实现了 dagger2 v2 2 但现在他们也添加了 dagger android 部分 所以我正在用它创建示例项目 我知道旧的方法论 Provide and Modules and 成分等注释 但从 Dagger 2 8 开始

随机推荐

  • Python。短语表示,如何改变?

    我不知道这个短语中存在的编码是什么 我也想知道这个问题的答案 主要是 我想改变我的措辞 例如 你好世界 变成你好 20世界 0A 老天啊 变成ol C3 A1 20mundo 0A 0A 我想要一个 python 解决方案 如果我有 gt
  • 通过 Apps 脚本强制刷新公式

    有时 更改单元格的值时 电子表格中的公式不会自动刷新 并且单元格上会出现注释以选择该单元格 然后按 CTRL SHIFT E 强制重新加载公式 我想从 Apps 脚本调用此重新加载函数 有没有办法用 Apps 脚本来做到这一点 我尝试了 S
  • 如何删除 WSO2 Identity Server 中的租户?

    在 v 4 6 0 中 我们无法通过 UI 删除 tenat 只能禁用 但是 我看到 TenantMgtAdminService 肥皂服务上有一个 deleteTenant 方法 我尝试调用此服务 但收到错误消息 从日志来看 它有 org
  • Android中将JSON数据存储到本地数据库

    好的 我创建了一个应用程序 它使用 JSON 从我的服务器检索数据 现在我想将检索到的数据存储在手机的本地存储 数据库中 我该怎么做 我是android编程新手 这是我从服务器收到的 JSON messages id 44 issender
  • 使用 javascript 获取焦点元素的 id

    我有一个包含许多锚元素的 Html 页面 这个单个 Html 页面包含许多 div 部分 一次仅显示一个部分 并且特定于该部分的锚点将聚焦 该 html 还包含一个用于打开弹出窗口的 div 当此弹出窗口打开特定于此的锚点时 将聚焦 现在我
  • WPF TextBox:如何将默认绑定模式更改为 OneWay?

    最初 我有以下代码
  • SQL/C# - UPSERT 上的主键错误

    UPDATE 简化的问题 从问题中删除了 C 在以下情况下 如何编写一个可以识别两行相同的 UPSERT 看看怎么有一个 b 退格键 在那里编码 奇怪的小字符 SQL 将它们视为相同 虽然我的 UPSERT 将此视为new data并在应该
  • xcode“将源编译为”覆盖特定文件

    我有一个项目 必须将 编译源为 值设置为 Objective C 不 根据文件类型 在我的主项目中不起作用 我从框架 特别是 OpenFeint 获得的文件有问题 该文件在编译为 Objective C 时出现编译错误 error poin
  • 转发按键事件

    我有一个文本框 想从另一个表单转发按键事件 到目前为止我已经有了我的表格 private readonly Action
  • 如何增加vm.max_map_count?

    我正在尝试在 Ubuntu EC2 计算机 t2 medium 中运行弹性搜索 但我收到消息 最大虚拟内存区域 vm max map count 65530 太低 至少增加到 262144 我怎样才能增加vm max map count v
  • 如何从Python列表中的字符串中删除双引号?

    我正在尝试在字典列表中获取一些数据 数据来自 csv 文件 因此都是字符串 文件中的键都有双引号 但由于这些都是字符串 我想删除它们 这样它们在字典中看起来像这样 key value 而不是这个 key value 我尝试简单地使用 str
  • 是否可以使用外部指示器来激活显示文件中的显示属性?

    我目前正在修改现有的 RPG 程序 目的是设置一个指示器 使该指示器激活显示文件中的显示属性ND来隐藏字段 问题是所有通用指标 IN01 IN99 都已用完 我无法在不干扰现有程序流程的情况下重用其中任何一个 可以用外部指示灯U1 U8代替
  • Scala:什么是 CompactBuffer?

    我试图弄清楚 CompactBuffer 的含义 和迭代器一样吗 请解释其中的差异 根据 Spark 的文档 它是 ArrayBuffer 的替代方案 可以提供更好的性能 因为它分配的内存更少 以下是 CompactBuffer 类文档的摘
  • 使 css nth-child() 只影响可见

    有没有办法用这个CSS只影响可见元素 table grid tr alt nth child odd background ebeff4 table grid tr alt nth child even background ffffff
  • Azure COSMOS DB 如何查询数组中的内容

    如何进行查询以获取文档数组 roles 中包含某些内容的文档 我想获取以下文档 其中 Trainer 是数组中的元素 enabled true profilePicture null roles Trainer Client SELECT
  • 如何在 django 中验证给定的 URL 是否来自特定域

    我有一个模型 class Profile models Model social github models URLField blank True null True social twitter models URLField blan
  • “清空缓存并硬重新加载”是否会清空整个缓存或仅清空与当前站点相关的部分?

    Chromium Chrome 中的 清空缓存并硬重新加载 是否会清空整个缓存或仅清空与当前站点相关的部分 我的暗示是 它绝对清空了所有缓存的资源 正如评论中所建议的那样 这个答案 https stackoverflow com a 149
  • 尝试用 Javascript 创建简单的幻灯片放映方法

    我一直在尝试创建一个基本的 JavaScript 片段 以便在单击链接时在网页上前后滑动图像 这是我的js代码网页部分
  • C# byte[] 的问题

    我正在将文件加载到字节 中 根据我的理解 byte 应该包含特定的字节元素 8 位 当我打印每个字节时 它们都不是 8 位 即它们的长度不是 8 我的代码 FileStream stream File OpenRead C Image Im
  • 使用同一个侦听器的多个活动

    我有 4 个活动 它们都包含一个 xml 页脚 其中包含 4 个按钮 每个活动一个 我现在想为这些按钮设置 onclicklistener 它是页脚中的自制菜单 问题是 如何使用侦听器以便重用代码 我有两个想法 创建一个实现 onclick