我正在尝试使用此功能。在菜单按钮中,有退出功能。我有大约6个活动,他们都有这个菜单按钮功能。我已经创建了一个ExitDialog类,然后它可以在所有活动中使用,现在问题是我不知道该怎么做
public class ExitDialog extends Activity {
// public ExitDialog(SessionOverview sessionOverview) {
// // TODO Auto-generated constructor stub
// }
// dialog to quit application
public void dialog() {
AlertDialog.Builder builder = new Builder(null);
builder.setMessage(R.string.to_quit);
builder.setTitle(R.string.hint);
builder.setPositiveButton(R.string.ok, new okListener());
builder.setNegativeButton(R.string.cancel, new cancelListener());
builder.create().show();
}
class okListener implements android.content.DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
class cancelListener implements
android.content.DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
}
答案 0 :(得分:0)
yourActivity extends ExitDialog;
并将调用类方法设为public
或protected
现在在yourActivity中使用方法
答案 1 :(得分:0)
首先,您的班级实际上不需要扩展Activity
。相反,传递一个上下文。
此外,当取消选项应该关闭对话框时,您可以将null
作为onClick行为传递,并且解除对话框将是默认操作。
public class ExitDialog {
private Context context;
public ExitDialog(Context context) {
this.context = context;
}
public void dialog() {
AlertDialog.Builder builder = new Builder(context);
builder.setMessage(R.string.to_quit);
builder.setTitle(R.string.hint);
builder.setPositiveButton(R.string.ok, new okListener());
builder.setNegativeButton(R.string.cancel, null);
builder.create().show();
}
class okListener implements android.content.DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
}
在活动中使用它:
new ExitDialog(this).dialog();
答案 2 :(得分:-1)
在你的其他活动中写下这个:
ExitDialog dlg = new ExitDialog();
dlg.dialog;
这将创建一个ExitDialog对象。通过此变量(dlg),您可以调用对话框方法。