尚未找到从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时,我看到一个空位。
答案 0 :(得分:0)
如果要设置可见性,则必须编写如下代码:
mView.sezVisibility(View.Gone);
如果你想删除那么:
rv.removeView(mButton); //For examble remove a button
答案 1 :(得分:0)
StackView使用适配器来了解要显示的元素数量。如果要添加或删除需要修改适配器的元素,请不要直接更改视图。