如何创建一个带有很多按钮的小部件?

发布于 2024-12-17 07:35:59 字数 375 浏览 1 评论 0原文

这可能是一个愚蠢的问题,但我真的想知道这是否是正确的方法。

我有一个带有多个按钮的应用程序小部件。我已经为每个 Buttons 创建了一个待处理的 Intent ,并使用

setOnClickPendingIntent()

设置了它。我的问题很简单。我已经有大约 9 个 Button,并且将来可能会扩展。那么可以有九个单独的待处理 Intents 吗?

大多数按钮执行相同的工作,但在附加Intent的特定额外字段上有所不同。那么有什么建议吗?因为代码看起来真的很脏,有很多待处理的意图。

This is probably a dumb question but I really want to know if it is the right way.

I have a app widget with several Buttons. I have created a pending Intent to each of these Buttons and I've set it using

setOnClickPendingIntent()

My question is simple. I have some 9 Buttons already and may extend in future. So is it ok to have nine separate pending Intents ?

Most of the Buttons do the same job but differ in a particular extra field attached with the Intent. So any suggestion? because the code looks really dirty with lot of pending Intents.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌无敌 2024-12-24 07:36:00

一个想法可能是使用与每个控件关联的“标签”。

http://developer.android.com/reference/android/view /View.html#setTag(int, java.lang.Object)

它允许您为每个按钮添加自定义值(您定义内容和格式)。

创建按钮时,添加一个键。您的按钮:

button1.setTag((Object) "action1");
button2.setTag((Object) "action2");

仅定义一个与每个按钮相关联的待处理意图 。

在待处理的意图中,获取视图的“标签”,并采取相应的操作

if (((String) view.getTag()).equals("action1"))
    etc...

One idea could be to use a "tag" associated with each controls.

http://developer.android.com/reference/android/view/View.html#setTag(int, java.lang.Object)

It allows you to add a custom value (you define the content, and the format) for each buttons.

When creating your button, add a key to your buttons:

button1.setTag((Object) "action1");
button2.setTag((Object) "action2");

Define only one pending Intent that you associate to each button.

In the pending intent, get the "tag" of the view, and act accordingly

if (((String) view.getTag()).equals("action1"))
    etc...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文