调用一个方法用于android中的所有活动

时间:2013-10-10 11:22:04

标签: java android

我正在尝试使用此功能。在菜单按钮中,有退出功能。我有大约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();
        }

    }
}

3 个答案:

答案 0 :(得分:0)

yourActivity extends ExitDialog;

并将调用类方法设为publicprotected

现在在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),您可以调用对话框方法。