You can use mButton.setVisibility (View.GONE) to hide the button.
You can also check the visibility status of buttons in a boolean variable using mButton.isShown ().
Edited by:
Example
In onReceive() of AppWidgetProvider ,
remoteViews = new RemoteViews( context.getPackageName(), R.layout.yourwidgetlayout ); remoteViews.setViewVisibility(viewId, visibility);
So, to hide your button
remoteViews.setViewVisibility(R.id.buttonId,View.INVISIBLE);
Edit - 2: According to Kartik's comment,
Code example:
public class ButtonHideShowWidget extends AppWidgetProvider { private static boolean status = false; @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if (intent.getAction()==null) { Bundle extras = intent.getExtras(); if(extras!=null) { remoteViews = new RemoteViews( context.getPackageName(), R.layout.your_widget_layout ); if(status){ remoteViews.setViewVisibility(R.id.buttonId,View.INVISIBLE); status = false; }else{ remoteViews.setViewVisibility(R.id.buttonId,View.VISIBLE); status = true; } watchWidget = new ComponentName( context, ButtonHideShowWidget.class ); (AppWidgetManager.getInstance(context)).updateAppWidget( watchWidget, remoteViews );
source share