Android:Example:SpinnerDialog
Android의 SPINNER-TYPE 대화상자 출력방법.
Source code
package ---;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnDismissListener;
/**
* 스피너(SPINNER)타입(TYPE) 대화상자 출력.<br>
* 만약 새로운 대화상자를 생성하고 싶을 경우, 새로운 객체를 생성하도록 해야 한다.
*
* @author cwlee
* @since 2013-08-12
*/
public class SpinnerProgressDialog {
/** 진행상황을 보여주기 위한 대화상자 객체. */
private ProgressDialog _dialog = null;
public SpinnerProgressDialog(Context c, String message) {
init(c, message, null, null);
}
public SpinnerProgressDialog(Context c, String message, OnDismissListener on_dismiss) {
init(c, message, on_dismiss, null);
}
public SpinnerProgressDialog(Context c, String message, OnDismissListener on_dismiss, OnCancelListener on_cancel) {
init(c, message, on_dismiss, on_cancel);
}
/**
* 대화상자를 초기화한다.
*
* @param c
* is Android device context.
* @param message
* is show message string.
* @param on_dismiss
* is dismiss event.
* @param on_cancel
* is cancel event.
*/
private void init(Context c, String message, OnDismissListener on_dismiss, OnCancelListener on_cancel) {
_dialog = new ProgressDialog(c);
_dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
_dialog.setMessage(message);
_dialog.setIndeterminate(true);
if (on_dismiss != null) {
_dialog.setOnDismissListener(on_dismiss);
}
if (on_cancel != null) {
_dialog.setCancelable(true);
_dialog.setOnCancelListener(on_cancel);
}
}
/** 대화상자를 출력한다. */
public void show() {
if (_dialog != null) {
_dialog.show();
_dialog = null;
}
}
/** 대화상자를 종료한다. */
public void dismiss() {
if (_dialog != null) {
_dialog.dismiss();
_dialog = null;
}
}
}