从StackView Widget动态删除视图

时间:2014-02-04 07:27:29

标签: android android-widget android-imageview stackview android-remoteview

尚未找到从StackView Widget中删除视图的成功方法。我正在使用SDK附带的基本StackView示例。

这是我在getViewAt(int position)函数中尝试做的某个视图,在某种情况下我不希望在窗口小部件中显示:

rv.removeAllViews(R.id.widget_item);
mWidgetItems.remove(position);
mCount = mCount -1;
AppWidgetManager awm = AppWidgetManager.getInstance(mContext);   
awm.notifyAppWidgetViewDataChanged(awm.getAppWidgetIds(new ComponentName(mContext, WidgetProvider.class)), R.id.widget_item);

我也试过

rv.setViewVisibility(R.id.widget_item, View.GONE); 

而不是

rv.removeAllViews(R.id.image_frame);

这两个都会导致视图为空,但视图仍然存在。我可以说,因为当我翻阅StackView时,我看到一个空位。

2 个答案:

答案 0 :(得分:0)

如果要设置可见性,则必须编写如下代码:

mView.sezVisibility(View.Gone);

如果你想删除那么:

rv.removeView(mButton); //For examble remove a button

答案 1 :(得分:0)

StackView使用适配器来了解要显示的元素数量。如果要添加或删除需要修改适配器的元素,请不要直接更改视图。