Widget und die Buttons fragen..

  • Antworten:2
  • Bentwortet
Michele
  • Forum-Beiträge: 1.525

25.05.2013, 20:25:07 via Website

Hallo alle zusammen.

Ich weiß oder habe noch immer nicht heraus gefunden wie ich mehrere Buttons für verschiedene
Methoden benutzen kann.

Was ich meine als beispiel:

1public class ServiceClass extends Service {
2
3
4 @Override
5 public void onStart(Intent intent, int startId) {
6 super.onStart(intent, startId);
7
8 SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
9 int soundID = soundPool.load(getApplicationContext(), R.raw.hahah, 1);
10
11 AppWidgetManager widgetManager = AppWidgetManager.getInstance(getApplication());
12 ComponentName widget = new ComponentName(getApplication(),AppWidget.class);
13 int[] widgetIds = widgetManager.getAppWidgetIds(widget);
14 RemoteViews remoteViews = new RemoteViews(getApplicationContext().getPackageName(), R.layout.layoutmain);
15 Intent cintent = new Intent(getApplicationContext(), AppWidget.class);
16 cintent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
17 cintent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,widgetIds);
18 PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, cintent, PendingIntent.FLAG_UPDATE_CURRENT);
19 remoteViews.setOnClickPendingIntent(R.id.button2, pendingIntent);
20 soundPool.play(soundID, 1.0f, 1.0f, 1, 0, 1f);
21 widgetManager.updateAppWidget(widgetIds,remoteViews);
22
23 }
24
25 @Override
26 public IBinder onBind(Intent intent) {
27 return null;
28 }
29}

1public class AppWidget extends AppWidgetProvider {
2 @Override
3 public void onReceive(Context context, Intent intent) {
4 super.onReceive(context, intent);
5
6 }
7
8 @Override
9 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
10 super.onUpdate(context, appWidgetManager, appWidgetIds);
11
12 Intent intent = new Intent(context.getApplicationContext(),ServiceClass.class);
13 intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
14 context.startService(intent);
15 }
16}

So führt er die AppWidget.class aus und startet den Service wieder neu.
Also ist egal wie viel Methoden ich drin hätte für mehrere Buttons, werden alle gleichzeitig ausgeführt.
Aber jeder Button soll was eigenes tun, wenn ich nun mehrere hätte.
Wie muss ich das schreiben?

LG

— geändert am 25.05.2013, 20:30:59

Antworten
Michele
  • Forum-Beiträge: 1.525

05.06.2013, 16:00:20 via Website

Hey @Mac.

Danke dir. Das klappt wunderbar.
Habe das leicht übersehen gehabt hier und vergessen mal zu versuchen.

Vielen Dank.


LG

Antworten