android小部件内ListView中的多个可点击项目
Posted
技术标签:
【中文标题】android小部件内ListView中的多个可点击项目【英文标题】:Multiple clickable items in ListView inside android widget 【发布时间】:2015-06-02 07:53:08 【问题描述】:我正在尝试在每行中有多个可点击项目的小部件中制作 ListView。例如,如果每一行都有包含链接的数据,则该行中的一个按钮用于打开链接,另一个按钮用于共享链接。
示例代码:
小部件布局
<LinearLayout...>
<TextView../>
<ListView with id="list_view" />
</LinearLayout>
ListView 中的每个列表行都有:
<LinearLayout with id="listRowParent">
<TextView../>
<Button with id="openBtn"/>
<Button with id="shareBtn"/>
</LinearLayout>
我可以使用
设置每一行的 onClickremoteViews.setPendingIntentTemplate(R.id.list_view,
*<PendingIntent>*); //in onUpdate
和remoteView.setOnClickFillInIntent(R.id.openBtn, *fillIntent*); // in adapter
效果很好,但我不能通过执行 remoteViews.setPendingIntentTemplate(R.id.shareBtn, ); 因为如果我这样做,单击按钮不会发生任何事情。
问题: 我正在尝试的可能吗?如果是,非常感谢您的帮助:)
【问题讨论】:
我怀疑您的按钮问题是它与 TextView 重叠。在这种情况下,您需要使用 layout_weight、重力或设置宽度(不灵活)的想法来修改布局。这样按钮就不会重叠和可见。为您的按钮添加大文本,以便您可以在 Listview 中清楚地看到它们。通常我会提供样品。但现在,您可以先尝试一下,看看我们能做些什么。 我正在使用 layout_weight,按钮不太可能重叠,因为按钮在被触摸时会突出显示。我试过删除文本视图并只保留两个按钮,但它仍然不起作用。 【参考方案1】:我的错。我应该使用
remoteViews.setPendingIntentTemplate(R.id.list_view,
*<PendingIntent>*);
对于这两个按钮,但我试图在第二个中直接使用按钮的 ID。修好了。
【讨论】:
我正面临着确切的问题。你能分享一下 getViewAt() 代码吗?以上是关于android小部件内ListView中的多个可点击项目的主要内容,如果未能解决你的问题,请参考以下文章
小部件onClick中的Android ListView不起作用
Android:使用 ListView 和 Service 从应用小部件开始活动
当 onDatasetChanged 方法包含异步网络调用 Android 时,小部件 ListView 不刷新