4


我正在开发多个小部件,其中一个使用 ListView 但 Android 2.3 不支持 ListView。
因此,如果我的应用程序当时安装在 Android 2.3 中,则带有 ListView 的小部件不应显示在小部件的列表中。
但是我那个带有 ListView 的小部件显示在小部件的列表中,如果我点击它,它就会显示强制关闭。

这就是为什么我想从小部件列表中隐藏那些小部件。
如果有人有任何建议,请回复。

它向我显示强制关闭并跟随小部件的错误
在此处输入图像描述

我在 Android 4.2 中运行的相同小部件然后它按照以下列表显示我

在此处输入图像描述

谢谢。

4

2 回答 2

12

我正在开发多个小部件

不,您正在开发多个应用小部件。虽然很抱歉这些术语令人困惑,但在您的问题中使用正确的术语对您来说非常重要。

其中之一使用 ListView 但 Android 2.3 不支持 ListView。

正确,在 Android 2.3 或更低版本的应用小部件ListView中不受支持。

因此,如果我的应用程序当时安装在 Android 2.3 中,则带有 ListView 的小部件不应显示在小部件的列表中。

步骤#1:创建一个res/values/bools.xml文件,定义一个布尔资源,名称为is_honeycomb,值为false

步骤 #2:创建一个res/values-v11/bools.xml文件,定义另一个布尔资源,具有相同的名称 ( is_honeycomb),值为true

步骤#3:在您的清单中,在使用 a的<receiver>元素上,添加。AppWidgetProviderListViewandroid:enabled="@bool/is_honeycomb"

最终结果是,在 Android 3.0+ 设备上,您的ListView应用小部件将是一个可用选项,但在 Android 2.3 及更低版本的设备上,它不会。

于 2013-04-18T14:52:13.473 回答
0

ListView 肯定在 2.3 版本中受支持。它受 Api Level 1 的支持。是的 ListView 仅适用于 api Level 11(3.0) 的应用小部件。

if(android.os.Build.VERSION.SDK_INT < 11)
   then hide your listview.
于 2013-04-18T14:19:53.317 回答