title: Allowing icon to change from user input
body: <p>I am allowing the user to change the icon in the class Personalize by sending a request code holding an image from a user gallery.
  The setIconImageinWidget() method sends the result here (in Drag_and_Drop_App):</p>
  
  <pre><code>     else if(requestCode == RESULT_ICON){
           byte[] byteArray = data.getByteArrayExtra("myIconBitmap"); 
           Bitmap myIcon = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 
           setBackgroundImageForIcon(myIcon); 
           Log.d("Drag_and_Drop_App", "Icon is set");
       }
       } 
  </code></pre>
  
  <p>Here is the setBackgroundImageForIcon method:</p>
  
  <pre><code>         @SuppressLint("NewApi") 
       private void setBackgroundImageForIcon(Bitmap bitmap) { 
       ImageView ivICON = (ImageView) findViewById(R.id.bwidgetOpen);
  
       Drawable dq = new BitmapDrawable(getResources(), bitmap); 
  
       if (Build.VERSION.SDK_INT &lt; Build.VERSION_CODES.JELLY_BEAN) { 
       ivICON.setImageDrawable(dq);
       } else { 
       ivICON.setImageDrawable(dq);
       Log.d("Drag_and_Drop_App", "Icon is set");
       } 
       } 
  </code></pre>
  
  <p>This returns no errors but the icon is not changed at all based on whatever picture the user chooses to use.</p>
  
  <p>After looking around a while I realized that I would have to change the app widget provider section of my coding here:</p>
  
  <pre><code>package com.example.awesomefilebuilderwidget;
  IMPORTS
  public class AFBWidget extends AppWidgetProvider{
  
  @Override
  public void onUpdate(Context context, AppWidgetManager appWidgetManager,
          int[] appWidgetIds) {
      // TODO Auto-generated method stub
      super.onUpdate(context, appWidgetManager, appWidgetIds);
      Random r = new Random();
      int randomInt = r.nextInt(1000000000);
      String rand = String.valueOf(randomInt);
  
      final int N = appWidgetIds.length;
  
      for (int i = 0; i &lt; N; i++){
          int awID = appWidgetIds[i];
          RemoteViews v = new RemoteViews(context.getPackageName(), R.layout.widget);
          v.setTextViewText(R.id.tvwidgetUpdate, rand);
             Intent configIntent = new Intent(context, Drag_and_Drop_App.class);
  
              PendingIntent configPendingIntent = PendingIntent.getActivity(context, 0, configIntent, PendingIntent.FLAG_UPDATE_CURRENT);
  
              v.setOnClickPendingIntent(R.id.bwidgetOpen, configPendingIntent);
             //me trying to set the Bitmap from the above classes somehow... v.setImageViewBitmap(R.id.bwidgetOpen, R.id.);
  
          appWidgetManager.updateAppWidget(awID, v);
      }
  
  }
  
  @Override
  public void onDeleted(Context context, int[] appWidgetIds) {
      // TODO Auto-generated method stub
      super.onDeleted(context, appWidgetIds);
      Toast.makeText(context, "Thanks for checking us out!", Toast.LENGTH_SHORT).show();
  }
  }
  </code></pre>
  
  <p>And the imageView I am changing is this:</p>
  
  <pre><code>&lt;ImageView
      android:id="@+id/bwidgetOpen"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/ic_launcher"
      android:contentDescription="@string/desc"/&gt;
  </code></pre>
  
  <p>in Widget.xml</p>
  
  <p>How can I change my Widget Provider so that it will allow the changing of the icon?
  I know this is a lot to read but any help is apperciated!</p>
  
  <p>UPDATED:</p>
  
  <pre><code>         @SuppressLint("NewApi") 
       private void setBackgroundImageForIcon(Bitmap bitmap) { 
           Log.d("Drag_and_Drop_App", "Icon...");
       ImageView ivICON = (ImageView) findViewById(R.id.bwidgetOpen);
  
       BitmapDrawable dq = new BitmapDrawable(getResources(), bitmap); 
  
       if (Build.VERSION.SDK_INT &lt; Build.VERSION_CODES.JELLY_BEAN) { 
       // ivICON.setImageDrawable(dq);
           ivICON.setImageResource(R.drawable.pattern1);
       } else { 
      // ivICON.setImageDrawable(dq);
       ivICON.setImageResource(R.drawable.pattern1);
       Log.d("Drag_and_Drop_App", "Icon is set");
       } 
       } 
  </code></pre>