0

尚未找到从 StackView 小部件中删除视图的成功方法。我正在研究 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 时,我看到一个空位置。

4

2 回答 2

0

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

mView.sezVisibility(View.Gone);

如果你想删除然后:

rv.removeView(mButton); //For examble remove a button
于 2014-02-04T07:51:31.917 回答
0

StackView 使用适配器来知道要显示多少元素。如果要添加或删除需要修改Adapter的元素,不要直接更改View。

于 2014-02-04T08:39:40.080 回答