Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>i have post similiar problem in this forum, but finally i get my answer. my problem in that post is how to create separate confirm dialog class who can acces by other class or activity, so with that confirm dialog class we don't need to write long coding.</p> <p>here's my answer. </p> <p>First you must create DialogHandler.java </p> <pre><code>import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import src.app.R; public class DialogHandler { public Runnable ans_true = null; public Runnable ans_false = null; // Dialog. -------------------------------------------------------------- public boolean Confirm(Activity act, String Title, String ConfirmText, String CancelBtn, String OkBtn, Runnable aProcedure, Runnable bProcedure) { ans_true = aProcedure; ans_false= bProcedure; AlertDialog dialog = new AlertDialog.Builder(act).create(); dialog.setTitle(Title); dialog.setMessage(ConfirmText); dialog.setCancelable(false); dialog.setButton(DialogInterface.BUTTON_POSITIVE, OkBtn, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int buttonId) { ans_true.run(); } }); dialog.setButton(DialogInterface.BUTTON_NEGATIVE, CancelBtn, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int buttonId) { ans_false.run(); } }); dialog.setIcon(android.R.drawable.ic_dialog_alert); dialog.show(); return true; } } </code></pre> <p>And this is example to call it in another class </p> <pre><code>public class YourActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.button1).setOnClickListener(myclick); } public final Button.OnClickListener myclick = new Button.OnClickListener() { @Override public void onClick(View v) { doclick(); } }; public void doclick() { DialogHandler appdialog = new DialogHandler(); appdialog.Confirm(this, "Message title", "Message content", "Cancel", "OK", aproc(), bproc()); } public Runnable aproc(){ return new Runnable() { public void run() { Log.d("Test", "This from A proc"); } }; } public Runnable bproc(){ return new Runnable() { public void run() { Log.d("Test", "This from B proc"); } }; } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload