android AlertDialog中的Edittext自動獲取焦點並彈出軟鍵盤
阿新 • • 發佈:2019-01-28
private void confirmPhoneGurdPswd(final String guardPswd) { // 1.建立彈出式對話方塊 final AlertDialog.Builder alertDialog = new android.app.AlertDialog.Builder(HomeActivity.this); // 系統預設Dialog沒有輸入框 // 獲取自定義的佈局 View alertDialogView = View.inflate(HomeActivity.this, R.layout.自定義佈局, null); // 2.密碼框-EditText。alertDialogView.findViewById(R.id.自定義佈局中的文字框) final EditText et_dialog_confirmphoneguardpswd = (EditText) alertDialogView.findViewById(R.id.et_dialog_confirmphoneguardpswd); // 確認按鈕,確認驗證密碼 Button btn_dialog_resolve_confirmphoneguardpswd = (Button) alertDialogView.findViewById(R.id.btn_dialog_resolve_confirmphoneguardpswd); btn_dialog_resolve_confirmphoneguardpswd.setOnClickListener(new OnClickListener() { // 點選按鈕處理 public void onClick(View v) { // 提取文字框中輸入的文字密碼 } }); // 取消按鈕,不驗證密碼 Button btn_dialog_cancel_confirmphoneguardpswd = (Button) alertDialogView.findViewById(R.id.btn_dialog_cancel_confirmphoneguardpswd); btn_dialog_cancel_confirmphoneguardpswd.setOnClickListener(new OnClickListener() { // 點選按鈕處理 public void onClick(View v) { // } }); AlertDialog tempDialog = alertDialog.create(); tempDialog.setView(alertDialogView, 0, 0, 0, 0); /** 3.自動彈出軟鍵盤 **/ tempDialog.setOnShowListener(new OnShowListener() { public void onShow(DialogInterface dialog) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(et_dialog_confirmphoneguardpswd, InputMethodManager.SHOW_IMPLICIT); } }); tempDialog.show(); }