2017-03-01 4 views
0

Das ist mein Code für die erste Seite ist, und wenn ich eine Aktivität starten will, muss ich diesen Fehler:Kann nicht neue Aktivität im Android Studio öffnen

Cannot resolve constructor 'Intent(com.example.loginpage.contact,java.lang.Class)'

public class contact extends AsyncTask<String,Void,String>{ 
Context context; 
contact (Context ctx){ 
    context = ctx; 
} 
protected void onPostExecute(String result) { 
     alertDialog.setMessage(result); 
     if (result.equals("Wrong email or password.")) { 

     } else 
     { 
      context.startActivity(new Intent(contact.this,mainpage.class)); 
     } 
     alertDialog.show(); 
    } 
} 

ich öffnen wollen diese Aktivität:

Antwort

1

Sie versuchen, eine neue Activity von außerhalb einer Context zu starten. Wenn Sie sagen, contact.this in der Zeile:

startActivity(new Intent(contact.this,mainpage.class));

Sie auf ein AsyncTask beziehen, wie das ist, was contact erstreckt. Sie sollten stattdessen eine Context dort übergeben. Sie können dies tun, indem Sie Context in Ihre Klasse contact Konstruktor übergeben.

Sobald Sie Context in die contact bestanden haben ersetzen Sie contact.this mit:

context.startActivity(new Intent(context, mainpage.class));

+0

Ich habe es bereits getan – Sergey

+0

Ich habe gerade Ihre Bearbeitung gesehen. Sie müssen "Context" in den Konstruktor übergeben. –

+0

Ich verstehe nicht, wie man es hier verwendet – Sergey

0
public class contact extends AsyncTask<String, Void, String> { 
    Context context; 

    contact(Context context) { 
     this.context = context; 
    } 
    //yout other staff 

} 

dann verwenden startActivity (neu Intent (Kontext, packagename.mainpage.class));

Verwandte Themen