Android Widget - 一个动作,多个按钮

Posted

技术标签:

【中文标题】Android Widget - 一个动作,多个按钮【英文标题】:Android Widget - One action, multiple buttons 【发布时间】:2012-12-12 08:40:29 【问题描述】:

我对 android 完全陌生,我正在开发一个有多个按钮的小部件。每个按钮必须执行的操作在逻辑上是相同的。我唯一需要的是知道单击了哪个按钮。我是否必须为每个按钮使用不同的Actions 并将它们设置为Intent,还是有更有效的方法?我尝试使用 custom XML attributes 创建自定义按钮,但对于此目的来说这似乎过于复杂和灵活。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用 Button 的 onClick 属性在宿主活动中指定一个方法,该方法将在调用按钮时调用此方法将传入一个 View 对象作为参数,该参数是被单击的按钮,基于此您可以根据需要改变你的逻辑。

【讨论】:

在 axml 布局文件中定义按钮标签时指定 android:onClick 我以为你不能在小部件中使用 onClick 事件。我对其进行了测试,一旦我添加了 onClick 事件,小部件就会停止工作。顺便说一句,我在 WidgetProvider 中添加了 clicked 方法,是不是错了? 这很奇怪。 onClick 属性在一天结束时是一个方便的属性,您总是可以求助于实现点击侦听器接口。看看this page顶部的示例代码你可以为两个按钮设置相同的点击监听器。 我检查了页面。问题是,我的应用程序有一个 Activity,我的小部件有一个 WidgetProvider。链接中的示例正在使用小部件没有的 Activity。我在这里犯错了吗?

以上是关于Android Widget - 一个动作,多个按钮的主要内容,如果未能解决你的问题,请参考以下文章

Android Widget 更新服务,多个 onclick 监听器

多个 Android Widget 实例仅更新最后一个小部件

Android:如何在 Widget [Remote Views] 中使用自定义视图

Android:捕捉按下键盘输入按钮的动作

Android Nougat,Oreo - 如何将长按动作添加到快速切换?

鼠标按下时 Gtk::Widget on_enter_notify?