AndroidWidget上的RemoteViews setViewVisibility

tri*_*ger 7 java android visibility widget remoteview

在我的AppWidgetProvider中,我执行以下操作:

@Override
public void onReceive(Context ctx, Intent intent) {
    final String action = intent.getAction();
    if (action.equals(NEXTPAGE_ACTION)) {
        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(ctx);
        RemoteViews rv = new RemoteViews(ctx.getPackageName(), R.layout.widget_layout);
        rv.setViewVisibility(R.id.page1, View.GONE);
        rv.setViewVisibility(R.id.page2, View.VISIBLE);
    final int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
    appWidgetManager.updateAppWidget(appWidgetId, rv);
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然我正在通过updateAppWidget更新布局,但更改并未真正反映在UI上.什么可能出错?非常感谢!

And*_*Ken 12

你尝试过使用INVISIBLE而不是GONE吗?Gone将删除视图,就好像它从未出现过一样.隐形会将视图放置在布局中,但会使其不可见.

 rv.setViewVisibility(R.id.page1, View. INVISIBLE);
Run Code Online (Sandbox Code Playgroud)