J'ai besoin d'une boîte de dialogue personnalisée pour apparaître à la pression d'un bouton. Voici mon code:Quel contexte est-ce que j'utilise pour un nouveau dialogue?
Button button3 = (Button) findViewById(R.id.Button03);
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Dialog custdialog = new Dialog(this);
custdialog.setContentView(R.layout.custom_drink);
custdialog.setTitle("Custom Drink");
custdialog.setCancelable(false);
/etc.
Cependant, sur cette ligne: final Dialog custdialog = new Dialog (this);
Je reçois une erreur disant "Le constructeur Dialog (new View.OnClickListener() {}) est indéfini".
J'ai essayé de remplacer "ceci" par d'autres choses, mais sans aucune chance. Il est étrange que je reçois une erreur sur cette ligne parce que j'ai exactement la même chose (à l'exception des noms différents et des choses) dans mon projet, sous un interrupteur (comme celui-ci:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings:
final Dialog settingsdialog = new Dialog(this);
settingsdialog.setContentView(R.layout.custom_dialog);
settingsdialog.setTitle("Settings");
settingsdialog.setCancelable(false);
et que l'on fonctionne très bien ... hmmm.
Avez-vous essayé Context.getApplicationContext() au lieu de cela? – Mike
Je peux mettre "getApplicationContext()" là et il fonctionne, mais je reçois un FC lorsque j'appuie sur le bouton. –
Context.getApplicationContext() me donne à la place une erreur "Le contexte ne peut pas être défini" –