2012-03-24 3 views
0

in Widget-Empfänger-Klasse, die AppWidgetProvider verlängern, wenn ich auf die Datenbank Hilfsklasse verbinden möchten durch diese Aussage einige Daten zum Abrufen bekomme ich einige Fehler:zur Datenbank von Widget-Klasse verbinden

public class wigetactivity extends AppWidgetProvider { 

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { 

    final DataBaseHelper myDbHelper = new DataBaseHelper(this); 
     . 
     . 
     . 
     } 

ich diese Fehlermeldung erhalten undefiniert Der Konstruktor DataBaseHelper (wigetactivity)

meiner Datenbank Helper-Klasse und Konstruktor Definition ist:

public class DataBaseHelper extends SQLiteOpenHelper { 
      public DataBaseHelper(Context context) { 
    super(context, DB_NAME, null, 1); 
    this.myContext = context; 
} 

} 

in einer regulären Klasse, die Aktivität erweitert, ich verbinde erfolgreich mit der Datenbank, Wie kann ich das beheben?

+0

Bitte senden Sie den gesamten Stack-Trace und den Code Kontext, wenn Sie Ihren Helfer schaffen, so können wir sehen, was "this" bezieht sich auf – Raffaele

+0

@Raffaele: ich habe meinen Beitrag bearbeitet – Fcoder

Antwort

1

Statt this verwenden (was keine Context in diesem Fall ist), verwenden Sie die context vorgesehen:

final DataBaseHelper myDbHelper = new DataBaseHelper(context); 
+0

Was ist der Kontext in diesem Fall? Wie kann ich es definieren? – Fcoder

+1

Du bekommst es als Parameter: 'public void onUpdate (Kontext Kontext, ...' – dmon

+0

Danke, du hast mein Problem gelöst :) – Fcoder

Verwandte Themen