我能动态地将视图添加到主屏幕小部件吗?

3
我正在编写一个主屏幕小部件。是否可以通过RemoteViews向主屏幕小部件添加视图,例如ImageView?我想动态生成主屏幕小部件的视图。

谢谢。

            updateViews = new RemoteViews(context.getPackageName(), R.layout.widget_news);

            updateViews.setTextViewText(R.id.widget_title, mTitle);

            updateViews.setImageViewBitmap(R.id.widget_picture, 
                        BitmapFactory.decodeByteArray(image, 0, image.length));

我的代码像上面这样。但是当我调用 updateViews.addView(aView) 时,我的IDE不允许我这样做,并给了我一个编译错误。

1个回答

1
每一次你使用RemoteViews时,你都在将你的UI定义推送到小部件中。你需要更多的Views吗?只需在创建RemoteViews实例时使用适当的布局即可。

我编辑了我的帖子,添加了一些示例代码。我尝试调用updateViews.addView(aView),但失败了。有什么想法吗? - user256239
正如我所写的,“只需在创建RemoteViews实例时使用适当的布局即可”。您会注意到您的更新代码调用了新的RemoteViews()并提供了一个布局。如果您想要为应用程序小部件使用不同的布局,则切换到使用不同的布局文件即可。 - CommonsWare
如果我想在RemoteViews中动态生成视图怎么办?例如,我从数据库中读取图片。第一次,我检索到3张图片,因此我在RemoteViews中创建了3个ImageViews。下一次,我检索到5张图片,然后我在小部件的RemoteViews中创建了5个ImageViews。这是可能的吗?谢谢。 - user256239
1
我和你在一起,kknight。动态方式是最好的选择。 - stfn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接