Hi!
Ich programmiere seit einiger Zeit in Java und deswegen ist das Klassen-System der Apps selber für mich eigentlich kein Problem. Anders verhält es sich leider bei den Widgets. Ich habe mir eine Applikation geschrieben, die mir sagt, wann ich meine nächste Vorlesung habe. Komfortabler wäre dies aber als Widget. Leider scheitere ich bereits bei der Erstellung des Widgets. Abgesehn davon, dass das Widget nicht als Widget, sondern als App erkannt wird, wenn ich es auf dem TestDevice installiere, beschäftigt mich vor allem die Frage, wie ich externe Klassen aus der (wie ich das verstehe zentralen) WidgetProvider-erbenden Klasse heraus aufrufe.
package widget.dgoetz.nlesson;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.RemoteViews;
import android.widget.TextView;
public class NextLessonWidget extends AppWidgetProvider {
/** Called when the activity is first created. */
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this provider
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
// Create an Intent to launch ExampleActivity
NextLessActivity n = new NextLessActivity();
Intent intent = new Intent(context, NextLessActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to the button
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
views.setTextViewText(R.id.textView1, n.getNextLesson());
// views.setOnClickPendingIntent(R.id.expandableListView1, pendingIntent);
views.setOnClickPendingIntent(R.id.button1, pendingIntent);
// Tell the AppWidgetManager to perform an update on the current app widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
Alles anzeigen
Wenn jemand den Fehler sieht.. NextLessActivity soll alles berechnen und mir dann einen String zurückgeben, den ich in das Feld der textView setzen möchte.
Danke im voraus