C'est mon code qui est supposé changer du texte en appuyant sur un bouton: -
public class MyActivity extends ActionBarActivity {
TextView txtview;
Button butto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
ImageView imageView = (ImageView) findViewById(R.id.image);
txtview = (TextView) findViewById(R.id.text);
butto = (Button) findViewById(R.id.buttn);
butto.setOnClickListener(new View.OnClickListener() {
public void Onclick(View paramView) {
txtview.setText("You Clicked it!");
}
});
}}
Le View.OnClickListener
est souligné et me donne l'erreur "La classe doit être déclarée abstraite ou implémenter une méthode abstraite". Ce code a été en grande partie copié à partir d’Internet et est supposé fonctionner correctement. Probablement c'est une erreur Android Studio seulement. Comment puis-je le faire fonctionner?
View.OnClickListener
doit implémenter la fonction onClick()
sinon votre classe devrait être abstraite pour pouvoir implémenter votre fonction onClick()
dans une classe enfant Mais dans votre cas, vous avez commis une faute d’orthographe. Ce devrait être onClick()
au lieu de Onclick()
;
Vous avez mal nommé le nom de la méthode:
public void Onclick(View paramView)
devrait être
public void onClick(View paramView)
Suivre les conventions de dénomination Java peut vous aider.
Astuces: ajoutez @Override
ci-dessus onClick(View)
. Sans @Override
, l'avertissement signifie que vous n'avez pas implémenté onClickListener
.