2016-07-08 3 views
-1

avoir une activité simple avec une méthode onClick - cela fonctionne mais Android Studio marque startActivity red dit ne peut pas résoudre la méthode - alors pourquoi?startActivity dans 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

Juste pour vous assurer, cette classe 'étend Activity'? – codeMagic

+0

si startActivity est souligné en rouge, cela signifie que votre projet n'est pas configuré correctement ou ne se construit pas correctement. rien ne va pas avec le code. Essayez de faire une synchronisation progressive, et je parie qu'il vous montrera quelques erreurs ou quelque chose. –

+0

Hé vous êtes mon homme - vous avez raison - après l'avoir fait ... toutes les erreurs sont parties - c'est magique - no ist Shemesh;)) –

Répondre

0

Ne pas utiliser v.getContext(), utilisez:

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

Ou MyActivity.this à la place. En outre, vous ne définissez pas correctement un onClickListener. Jetez un oeil à this link pour apprendre à le faire correctement.

+0

J'ai déjà fait "ceci" mais Studio le marque en rouge - erreur impossible à résoudre constructeur –

+0

avez-vous utilisé 'getApplicationContext()' –

+0

> Ou 'MyActivity.this' à la place. Vucko

0

Utilisez le code suivant:

@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

application de démarrage de l'activité Inventor? –

+0

cela a-t-il fonctionné pour vous? – Saini

+0

non, il ne fonctionne pas –