Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdating text view on imagebutton click (Widget)
    primarykey
    data
    text
    <p>Im trying to make it so that on a press of a image button on my widget it will change the text of a textview. This textviews data is a random string from a array (Something i already have code for). I started to have a look at a broadcast reciever but i really dont know why mine isnt working. Any help is really appreciated :)</p> <p>Widget activity</p> <pre><code>public class Widget extends AppWidgetProvider { private Random rgenerator = new Random(); private Random rgenerator2 = new Random(); private String[] myString1; public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Resources res = context.getResources(); myString1 = res.getStringArray(R.array.myArray); final int N = appWidgetIds.length; Log.i("ExampleWidget", "Updating widgets " + Arrays.asList(appWidgetIds)); // Perform this loop procedure for each App Widget that belongs to this // provider for (int i = 0; i &lt; N; i++) { int appWidgetId = appWidgetIds[i]; // Create an Intent to launch ExampleActivity Intent intent = new Intent(); intent.setAction(TestReceiver.TEST_INTENT); intent.setClassName(TestReceiver.class.getPackage().getName(), TestReceiver.class.getName()); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds); PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); // Get the layout for the App Widget and attach an on-click listener // to the button RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widgetlayout); views.setOnClickPendingIntent(R.id.imagewidgeterica, pendingIntent); // To update a label views.setTextViewText(R.id.widget1label , myString1[rgenerator.nextInt(myString1.length)]); // Tell the AppWidgetManager to perform an update on the current app // widget appWidgetManager.updateAppWidget(appWidgetId, views); } } } </code></pre> <p>Broadcast reciver:</p> <pre><code>package kevin.erica.box; public class TestReceiver extends BroadcastReceiver { private Random rgenerator = new Random(); private Random rgenerator2 = new Random(); private String [] myString1; private String myStringRandom = myString1[rgenerator.nextInt(myString1.length)]; public static final String TEST_INTENT= "MyTestIntent"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Toast.makeText(context, "Test", Toast.LENGTH_SHORT); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context.getApplicationContext()); Toast.makeText(context, "Test", Toast.LENGTH_SHORT).show(); int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS); RemoteViews rViews = new RemoteViews(context.getPackageName(), R.layout.widgetlayout); rViews.setTextViewText(R.id.widget1label, "someupdateddata"); appWidgetManager.updateAppWidget(appWidgetIds, rViews); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload