8
votes

Android: Button OnClickListener ne fonctionne pas

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.

Suis je déclare les boutons ?

Quelqu'un peut-il me sortir? xxx


0 commentaires

6 Réponses :


4
votes

Vous oubliez de mettre en œuvre onclicklistener code> dans votre activité.

Implémentez-le, puis essayez :) P>

public class Menu extends Activity implements onClickListener


2 commentaires

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 :)



12
votes

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;
            }

        }
    }
}


4 commentaires

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.



0
votes

Vous venez d'oublier de mettre en œuvre le onclicklistener dans votre activité:

menu de la classe publique prolonge l'activité implémente OnClickListener {<---- Vérifiez cette ligne ................................ }


0 commentaires

0
votes

Essayez de changer cette ligne xxx

à xxx


0 commentaires

0
votes
    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
     }

0 commentaires

0
votes

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);


0 commentaires