找到一个在Android上创建阻塞式模态对话框的方法

给个例子好了

import android.app.Activity;
import android.app.Dialog;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.text.method.PasswordTransformationMethod;
import android.text.method.TransformationMethod;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
public class PasswordDialog extends Dialog
{
	int dialogResult;
	Handler mHandler ;
	
	public PasswordDialog(Activity context, String mailName, boolean retry)
	{
		
		super(context);
		setOwnerActivity(context);
		onCreate();
		TextView promptLbl = (TextView) findViewById(R.id.promptLbl);
		promptLbl.setText("请输入密码/n" + mailName);
	}
	public int getDialogResult()
	{
		return dialogResult;
	}
	public void setDialogResult(int dialogResult)
	{
		this.dialogResult = dialogResult;
	}
	/** Called when the activity is first created. */
	
	public void onCreate() {
		setContentView(R.layout.password_dialog);
		findViewById(R.id.cancelBtn).setOnClickListener(new android.view.View.OnClickListener() {
			
			@Override
			public void onClick(View paramView)
			{
				endDialog(DialogResult.CANCEL);
			}
			});
		findViewById(R.id.okBtn).setOnClickListener(new android.view.View.OnClickListener() {
			
			@Override
			public void onClick(View paramView)
			{
				endDialog(DialogResult.OK);
			}
			});
		}
	
	public void endDialog(int result)
	{
		dismiss();
		setDialogResult(result);
		Message m = mHandler.obtainMessage();
		mHandler.sendMessage(m);
	}
	
	public int showDialog()
	{
		mHandler = new Handler() {
			@Override
              public void handleMessage(Message mesg) {
                  // process incoming messages here
				//super.handleMessage(msg);
				throw new RuntimeException();
              }
          };
		super.show();
		try {
			Looper.getMainLooper().loop();
		}
		catch(RuntimeException e2)
		{
		}
		return dialogResult;
	}
	
}

PasswordDialog dlg = new PasswordDialog(this);

if(dlg.showDialog() == DialogResult.OK)

{

blabla, 和其他平台上的阻塞对话框一摸一样的

}

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值