如何将列表视图设置为 appwidget?

Posted

技术标签:

【中文标题】如何将列表视图设置为 appwidget?【英文标题】:how to set a listview into an appwidget? 【发布时间】:2011-10-20 17:48:18 【问题描述】:

我想创建一个 appwidget,我想在其中以列表视图的形式显示资源中的一些数据。我是android新手,所以我不知道。请帮忙

提前致谢

【问题讨论】:

【参考方案1】:

基本上,您不能将 ListView 与手机上的应用小部件一起使用。它不是受支持的视图(有关受支持的视图列表,请查看 here)。

真实的故事有点复杂,这条规则有两个例外:

首先,您可以在 Honeycomb (Android 3.0+) 上使用它,但目前仅适用于平板电脑。我从来没有使用过这个,从一个简短的搜索来看,这里的文档似乎有点缺乏,几乎没有发现任何证据(它在“应用程序小部件”下的Android 3.0 Platform API overview 中注明 - 还有一些示例的链接)。

第二,一些替代启动器确实支持 ListView。我不知道具体是哪一个,这里引用Android市场中“Pure messenger widget”的描述:

具有大多数替代启动器(如 ADW、LiveHome、 Go Launcher Ex 或 LauncherPro

这意味着您可以从 Market 安装大多数自定义启动器。 它不包括以未记录方式支持 ListViews 的专有启动器 - 例如。 HTC Sense。

我不确定您是否可以对 alt-launchers 进行一些兼容性测试。您可以使用 res 说明符将 Honeycomb 设备与其他设备分开,但即便如此,您仍然与许多原始设备或制造商的默认启动器不兼容。

总结一下:目前对于 ListViews 来说是一个非常糟糕的情况。

(弱替代方案:当然,您可以构建一个看起来像列表的“假列表视图”,但它是受支持视图之外的静态布局。但这不会滚动。)


注意:我知道这更像是一个“你能不能”的答案,而不是如何实际去做——这是真正的问题。我认为它仍然有用,因为这是一个奇怪的情况。您经常看到 ListViews 可以工作,但您无法让它运行,这可能会使刚接触该平台的人感到困惑。我希望当您能够使用它时,这会说明问题。

【讨论】:

以上是关于如何将列表视图设置为 appwidget?的主要内容,如果未能解决你的问题,请参考以下文章

Android appwidget remoteviews没有更新

如何使用 glide* 使用数组列表中的自定义适配器将图像设置为列表视图

毕加索:将图像加载到小部件列表视图

如何将资产文件夹中的图像设置为列表视图?(使用 SimpleAdapter)

调整列表视图大小时如何设置标题宽度等于其列表视图控件宽度?

设置为null后如何将onItemClickListener重置为true?