2013-10-10 46 views
-1

我正在嘗試使這個功能。在菜單按鈕中,有退出功能。我有大約6個活動,他們都有這個菜單按鈕功能。我創建了一個ExitDialog類,那麼就可以在所有的活動中使用,現在的問題是我不知道該怎麼辦呢調用一個方法在Android的所有活動中使用

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(); 
     } 

    } 
} 
+2

首先你要明確有關Java概念 – KDeogharkar

回答

0
yourActivity extends ExitDialog; 

,並調用類方法,如publicprotected

現在yourActivity使用方法

+0

雖然理論上是可能的,這是不是我會建議。當你可以將它傳遞給上下文時,真的不需要擴展ExitDialog。 –

-1

寫這在其他Ativities:

ExitDialog dlg = new ExitDialog(); 
dlg.dialog; 

這創建了一個ExitDialog對象。通過這個變量(dlg),你可以調用對話方法。

+0

AlertDialog構建器需要一個上下文。它應該是'dlg.dialog();'。 –

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();

相關問題