Mi widget consta de dos diseños relativos. Hice clic en ambos diseños. Los siguientes son los identificadores de la disposición:Cambiar la visibilidad del widget al hacer clic
android:id="@+id/upper_layout"
android:id="@+id/bottom_layout"
Ahora, lo que necesito es que si un usuario hace clic en el upper_layout, bottom_layout debe ser invisible.
Aquí, es lo que he intentado hasta ahora pero no está funcionando. ¿Puedes verificar lo que estoy haciendo mal? O, tal vez sugiera otras formas de lograr esto.
Código:
public class BobsWidget extends AppWidgetProvider {
public static String ACTION_WIDGET_RECEIVER = "Clicked";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.main);
Intent active = new Intent(context, BobsWidget.class);
active.setAction(ACTION_WIDGET_RECEIVER);
PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context,
0, active, 0);
remoteViews.setOnClickPendingIntent(R.id.upper_layout,
actionPendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
// check, if our Action was called
if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) {
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.main);
remoteViews.setViewVisibility(R.id.bottom_layout, View.INVISIBLE);
}
super.onReceive(context, intent);
}
}