Откройте диалог, когда я нажму кнопку
У меня есть кнопка, и я бы хотел открыть диалог при нажатии. Это мой код:
Button more = (Button) findViewById(R.id.more);
more.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Intent myIntent = new Intent(view.getContext(), agones.class);
//startActivityForResult(myIntent, 0);
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("hi");
alertDialog.setMessage("this is my app");
alertDialog.setButton("Continue..", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
}
});
Ответы
Ответ 1
Как сказал @Roflcoptr, вы не вызвали метод alertDialog.show()
. поэтому ваш диалог не отображается.
Здесь отредактированный вами код:
Button more = (Button) findViewById(R.id.more);
more.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Intent myIntent = new Intent(view.getContext(), agones.class);
//startActivityForResult(myIntent, 0);
AlertDialog alertDialog = new AlertDialog.Builder(<YourActivityName>this).create(); //Read Update
alertDialog.setTitle("hi");
alertDialog.setMessage("this is my app");
alertDialog.setButton("Continue..", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
alertDialog.show(); //<-- See This!
}
});
если вы пишете this
вместо <ActivityName>.this
, тогда он примет ссылку View.OnClickListener
, поскольку в настоящее время к нему обращается this
. Вам нужно указать название своей деятельности.
Ответ 2
Ваш диалог не отображается, потому что вы не вызываете AlertDialog # show.
Ответ 3
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("this is message");
builder.setTitle("this is title");
//Setting message manually and performing action on button click
builder.setMessage("Do you want to close this application ?");T
//This will not allow to close dialogbox until user selects an option
builder.setCancelable(false);
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Toast.makeText(this, "positive button", Toast.LENGTH_SHORT).show();
//builder.finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Action for 'NO' Button
Toast.makeText(this, "negative button", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
//Creating dialog box
AlertDialog alert = builder.create();
//Setting the title manually
//alert.setTitle("AlertDialogExample");
alert.show();