从小部件以编程方式删除元素

时间:2012-06-09 07:19:02

标签: android widget

我在窗口小部件布局中有一个imageview和一个文本视图。 现在我需要以编程方式从remoteview中删除图像视图。

我看到有api remoteView.removeAll(Viewid);

所以当我做的时候

remoteViews.removeAll(R.id.imageView);

并通过

更新remoteView
appwidgetmanager.updateAppVidget

屏幕上看不到任何具体内容。 imageview仍在那里。

我是否在正确的轨道上? 请就此提出建议。

1 个答案:

答案 0 :(得分:0)

函数removeAll相当于ViewGroup.removeAllViews。要使其通过 RemoteViews 对象在窗口小部件中工作,您需要将ImageView包裹在FrameLayout内。然后,您可以致电removeAll并传递FrameLayout ID

请注意,使用 RemoteViews 可以更轻松地将可见性设置为 INVISIBLE 甚至 GONE ,并且不需要额外的Views