J'essaie d'afficher un toast quand ce bouton est pressé. Mais le code ne fonctionne pas
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText text = (EditText)findViewById(R.id.editText1);
EditText text1 = (EditText)findViewById(R.id.editText2);
String userid = text.getText().toString();
String pass = text1.getText().toString();
Toast.makeText(getBaseContext(),"Entered"+userid+"and password entered is"+pass,Toast.LENGTH_SHORT).show();
}
});
}
Le code s'exécute correctement, mais rien ne se passe lorsque le bouton est enfoncé.
Lorsque je me concentre sur la ligne dans eclipse, il est dit ce qui suit
"The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new
View.OnClickListener(){}, String, int)"
S'il vous plaît dites-moi de quoi ai-je besoin de le faire pour le faire fonctionner
- essayez MainActivity.ce lieu de geBaseContext()
- Vous n'utilisiez pas
getBaseContext()
lorsque vous avez vu que l'erreur que vous avez été en utilisantthis
... Vous devriez avoir essayé de sauver ou le nettoyage de votre code.
Vous devez vous connecter pour publier un commentaire.
Vous avez à passer le courant Contexte comme premier paramètre (au lieu de
getBaseContext()
). Ceci, dans votre cas, estMainActivity.this
.C'est parce que la getBaseContext() à ce point dans le code fait référence à l'écouteur de clics. Ce que vous voulez de référence est à votre activité. Vous devriez changer la référence de votre Contexte dans le Toast message à Vue.getContext()(si l'on travaille sur le contexte de l'intérieur d'une sous-vue) ou ce.
getBaseContext()
ne peut pas faire référence à un OnClickListener, c'était un leurre.Toast.makeText(this, ...
et le compilateur n'avais pas actualisé / supprimé cette erreur. Aussi, je n'ai jamais entendu parler deActivity.getContext()
est qu'une faute de frappe? Sinon aurais-tu un lien à sa documentation?OU
Méthode Syntaxe
Le contexte d'utilisation. Habituellement, votre Application ou de l'objet d'Activité.