2016-06-03 15 views
2
happyButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent response = new Intent(this, UserResponse.class); 
      startActivity(response); 

     }; 


    }); 

Es gibt einen Fehler in der Zeile (this, UserResponse.class); sogar nachdem ich eine neue Klasse namens UserResponse erstellt habe.Neue Aktivität in Android erstellen

+0

Was sagt die IDE Ihnen der Fehler ist? Wenn Sie den Mauszeiger über den Inhalt halten, der mit einer roten, verschnörkelten Unterstreichung markiert ist (oder über das Fehlersymbol im linken Rinnstein zeigen), erfahren Sie, um welches Problem es sich handelt. –

+0

Problem ist in * diesem *, Sie rufen es von * Button * Instanz, ändern Sie es von ** ClassName.this ** –

Antwort

4

ändern

Intent response = new Intent(this, UserResponse.class); 

Um

Intent response = new Intent(MainActivity.this, UserResponse.class); 

die MainActivity durch den Namen Ihrer aktuellen Aktivität ersetzen (Strom .. nicht Aktivität Ziel)

2

Wenn Sie manuell die Klasse erstellt hatte, Überprüfen Sie auf zwei Dinge:

  1. UserResponse Klasse erweitert Activity

  2. Die Aktivität im Manifest

Es sollte

so etwas wie diese enthalten ist
<activity 
    android:name="UserResponse" 
    android:label="@string/User_Response"> 
</activity> 

Auch die Absicht ändern, wie Guilherme P vorgeschlagen hat

0

Es ist, weil Sie this in einem onClicklistener chan verwenden ge it to getApplicaton()

Verwandte Themen