J'ai créé cette activité qui devrait me permettre d'ouvrir une nouvelle activité une fois qu'un bouton a été appuyé.
Cependant, l'OnClickListener ne semble pas fonctionner. P>
Suis je déclare les boutons ? p>
Quelqu'un peut-il me sortir? p>
6 Réponses :
Vous oubliez de mettre en œuvre Implémentez-le, puis essayez :) P> onclicklistener code> dans votre activité.
public class Menu extends Activity implements onClickListener
Voir ma réponse modifiée.Juste Remplacez cette ligne avec votre code :)
@Hydarroze Si ma réponse vous est utile, n'oubliez pas d'accepter et de la remettre :)
Oui, le problème est en déclaration de bouton, écrivez ci-dessous le code au lieu de votre code, il résoudra votre problème.
public class Menu extends Activity implements OnClickListener{ Button loginbutton, recordbutton, viewbutton, projectsbutton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu); loginbutton = (Button) findViewById(R.id.butlogin); loginbutton.setOnClickListener(this); recordbutton = (Button) findViewById(R.id.butrecordts); recordbutton.setOnClickListener(this); viewbutton = (Button) findViewById(R.id.butviewts); viewbutton.setOnClickListener(this); projectsbutton = (Button) findViewById(R.id.butprojects); projectsbutton.setOnClickListener(this); } public void onClick(View v){ switch(v.getId()) { case R.id.butlogin: { //open login screen Intent i = new Intent(this, login.class); startActivity(i); break; } case R.id.butrecordts: { break; } case R.id.butviewts: { break; } case R.id.butprojects: { break; } } } }
Merci, cela a résolu le problème. Cependant, ce faisant, l'application cesse de répondre une fois qu'un bouton est enfoncé.
Il demande si j'ai déclaré l'activité dans mon manifeste Android. Je l'ai fait.
@Hydarroze OK, pas de problème.
Cela m'a aidé! Merci. Je n'ai pas réglé l'Onclicklistener pour la vue elle-même après avoir défini la vue.
Vous venez d'oublier de mettre en œuvre le menu de la classe publique prolonge l'activité implémente OnClickListener {<---- Vérifiez cette ligne
................................
} p>
blockQuote> onclicklistener code> dans votre activité: p>
Essayez de changer cette ligne à p>
View.OnClickListener myhandler1 = new View.OnClickListener() { public void onClick(View v) { // the 1st button } } View.OnClickListener myhandler2 = new View.OnClickListener() { public void onClick(View v) { //the 2nd button }
Vous devez déclarer vos boutons comme celui-ci:
Button loginbutton = (Button)findViewById(R.id.butlogin); loginbutton.setOnClickListener(this); Button recordbutton = (Button)findViewById(R.id.butrecordts); recordbutton.setOnClickListener(this); Button viewbutton = (Button)findViewById(R.id.butviewts); viewbutton.setOnClickListener(this); Button projectsbutton = (Button)findViewById(R.id.butprojects); projectsbutton.setOnClickListener(this);