coursera-android-week4-4

public class AlertDialogActivity extends Activity {
	private static final int ALERTTAG = 0, PROGRESSTAG = 1;
	protected static final String TAG = "AlertDialogActivity";
	private Button mShutdownButton = null;
	private DialogFragment mDialog;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		mShutdownButton = (Button) findViewById(R.id.shutdownButton);
		mShutdownButton.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				showDialogFragment(ALERTTAG);//点击就出现 DialogFragment
			}
		});
	}

	
	
	//onCreate 用到的方法
	
	void showDialogFragment(int dialogID) {
		switch (dialogID) {
		case ALERTTAG:
			mDialog = AlertDialogFragment.newInstance();//返回一个 alert dialog fragment
			mDialog.show(getFragmentManager(), "Alert");//show方法调用之后,会调用 onCreateDialog方法
			break;
		case PROGRESSTAG:
			mDialog = ProgressDialogFragment.newInstance();
			mDialog.show(getFragmentManager(), "Shutdown");
			break;
		}
	}

	protected void continueShutdown(boolean shouldContinue) {
		if (shouldContinue) {
			mShutdownButton.setEnabled(false);
			showDialogFragment(PROGRESSTAG);
			finishShutdown();
		} else {
			mDialog.dismiss();
		}
	}

	private void finishShutdown() {
		new Thread(new Runnable() {
			@Override
			public void run() {
				try {
					// Pretend to do something before
					// shutting down
					Thread.sleep(5000);
				} catch (InterruptedException e) {
					Log.i(TAG, e.toString());
				} finally {
					finish();
				}
			}
		}).start();
	}


	
	
	
	
	
	
	
	
	
	
	//第一个对话框
	
	public static class AlertDialogFragment extends DialogFragment {

		public static AlertDialogFragment newInstance() {
			return new AlertDialogFragment();
		}

		@Override
		public Dialog onCreateDialog(Bundle savedInstanceState) {
			return new AlertDialog.Builder(getActivity())
					.setMessage("Do you really want to exit?")
					.setCancelable(false)
					.setNegativeButton("no",   //这个方法是放置  否 按键
							new DialogInterface.OnClickListener() {
								public void onClick(DialogInterface dialog,
										int id) {
									((AlertDialogActivity) getActivity())
											.continueShutdown(false);
								}
							})
					.setPositiveButton("Yes",
							new DialogInterface.OnClickListener() {
								public void onClick(
										final DialogInterface dialog, int id) {
									((AlertDialogActivity) getActivity())
											.continueShutdown(true);
								}
							}).create();
		}
	}

	
	
	
	
	
	
	
	
	
	
	//第二个对话框
	
	public static class ProgressDialogFragment extends DialogFragment {

		public static ProgressDialogFragment newInstance() {
			return new ProgressDialogFragment();
		}

		@Override
		public Dialog onCreateDialog(Bundle savedInstanceState) {
			final ProgressDialog dialog = new ProgressDialog(getActivity());
			dialog.setMessage("Activity Shutting Down.");
			dialog.setIndeterminate(true);
			return dialog;
		}
	}
}	


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值