2016-07-08 22 views
-1

haben eine einfache Aktivität mit einer onClick-Methode - es funktioniert aber Android Studio markiert startActivity rot sagt kann Methode nicht auflösen - also warum?startActivity in onclick

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lyt_start); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 

     case R.id.btn1: 

      Intent int_Update = new Intent(v.getContext(), aty_Update.class); 

      startActivity(int_Update); 

      break; 

     case R.id.btn2: 

      Intent int_Start = new Intent(v.getContext(), aty_Main.class); 
      startActivity(int_Start); 

      break; 
    } 
} 
+0

Nur um sicherzugehen, diese Klasse 'erstreckt Activity'? – codeMagic

+0

Wenn startActivity rot unterstrichen ist, bedeutet dies, dass Ihr Projekt nicht korrekt konfiguriert oder korrekt erstellt wurde. nichts ist falsch mit dem Code. Versuchen Sie, eine Gradle-Synchronisierung durchzuführen, und ich wette, dass es Ihnen einige Fehler oder etwas zeigen wird. –

+0

Hey du bist mein Mann - du hast recht - nachdem du es getan hast ... sind alle Fehler weg - es ist Magie - nein ist Shemesh;)) –

Antwort

0

Verwenden Sie keine v.getContext(), zu verwenden:

Intent int_Update = new Intent(this, aty_Update.class); 

Oder MyActivity.this statt.

Sie setzen auch onClickListener nicht korrekt. Werfen Sie einen Blick auf this link, um zu lernen, wie man es richtig macht.

+0

Ich habe "das" schon einmal gemacht, aber Studio markiert es rot - Fehler kann nicht behoben werden Konstruktor –

+0

haben Sie 'getApplicationContext() ' –

+0

> Oder' MyActivity.this' statt. Vucko

0

den folgenden Code verwenden:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lyt_start); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 

     case R.id.btn1: 

      activityStarter(aty_Update.class); 

      break; 

     case R.id.btn2: 

      activityStarter(aty_Main.class); 

      break; 
} 


     Intent int_Update; 

public void activityStarter(Class<?> cls){ 
     int_Update = new Intent(getApplicationContext(), cls); 
     startActivity(int_Update); 
    } 
+0

Aktivität Starter App Inventor? –

+0

hat es für Sie funktioniert? – Saini

+0

Nein, es funktioniert nicht –