精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

在Android應用中AlertDialog的點擊按鈕無法關閉對話框如何解決

在Android應用中AlertDialog的點擊按鈕無法關閉對話框如何解決?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創新互聯建站長期為上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為吳忠企業提供專業的成都網站建設、成都網站制作,吳忠網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。

這里的問題:當我點擊確定按鈕,也就是 AlertDialog 里的 PositiveButton 的時候,我們需要判斷用戶是輸入是否符合我們的預期,如果不符合通常提示用戶重寫輸入,且不關閉當前的對話框,但上圖中點擊按鈕后會自動的關閉窗口。

先看原來的這個是怎么寫的:

private void openDialog() {
 LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(getContext()).inflate(R.layout.change_password_dialog, null);
 final EditText originPasswordEt = (EditText) linearLayout.findViewById(R.id.origin_password);
 TextView forgetPassword = (TextView) linearLayout.findViewById(R.id.forget_password);

 final AlertDialog dialog = new AlertDialog.Builder(getContext())
  .setView(linearLayout)
  .setPositiveButton("確定", new DialogInterface.OnClickListener() {
   @Override
    public void onClick(DialogInterface dialog, int which) {
    String originPassword = originPasswordEt.getText().toString().trim();
     //傳到后臺
    }
  })
  .create();

 dialog.show();
}

雖然圖片里和代碼的并不是同一個,但問題是一樣的

setPositiveButton 方法中,即使我們沒有調用 dialog.dismiss()

但對話框還是會自動的關閉,就算我們在 onClick 里判斷輸入的內容,錯誤的提示也會在窗口關閉后才出現。

在 AlertDialog 提供的 API 中我也沒有找到可以設置的地方,如果有還請告知。而我解決這個問題的辦法:

final AlertDialog dialog = new AlertDialog.Builder(getActivity())
  .setTitle(msg)
  .setView(layout)
  .setNegativeButton("取消", new DialogInterface.OnClickListener() {
   @Override
   public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
   }
  })
  .setPositiveButton("submit",null)
  .setCancelable(true)
  .create();
dialog.show();

//為了避免點擊 positive 按鈕后直接關閉 dialog,把點擊事件拿出來設置
dialog.getButton(AlertDialog.BUTTON_POSITIVE)
  .setOnClickListener(new View.OnClickListener() {

 @Override
 public void onClick(View v) {
  Pattern pattern = Pattern.compile("[0-9]*");
  Matcher matcher = pattern.matcher(editText.getText());
  if (!matcher.matches()){
   showToast("請輸入正確的 ID");
   break;
  }
  dialog.dismiss();
  }
 }
});

setPositiveButton("submit",null) 監聽事件傳入 null

在調用 dialog.show() 后再設置 Button 的點擊事件,否則 getButton() 會返回空

這樣在我們手動調用 dialog.dismiss() 之前,對話框是不會關閉的。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。


分享標題:在Android應用中AlertDialog的點擊按鈕無法關閉對話框如何解決
標題鏈接:http://m.jcarcd.cn/article/pihige.html
主站蜘蛛池模板: 中文字幕乱码 | 国产尹人在线视 | 日本中文字幕一本 | 国产色片在线观看 | 午夜激情网址 | 任我撸在 | 国产乱老熟视频 | 91免费精品 | 三级采花三级在线 | 成人不卡| 欧美亚洲日 | 日本加勒比在线 | 成人精品国产亚洲 | 国产污污免费网站 | 日韩午夜免费视频 | 国产免费夫妻高 | 欧美亚欧日韩 | 国产视频短 | 日韩不卡 | 日韩中文字幕a加勒 | 97視频 | 配乱婬视频a | 国产精品人 | 喷水在线播放黄 | 三级网址在线观看 | 日韩美女一级淫片 | 国产在线观看无 | 苹果成人影院在线 | 日韩伦理午夜福利 | 日韩亚洲欧美系列 | 日韩精品永 | 国产绿帽性爱一区 | 日韩一区 | 国产伦理一区 | 日韩欧美第一页 | 日韩精品一区在线 | 国产高清精品一 | 中文字幕热久 | 日韩城人网站 | 乱色熟女综合一 | 国内精自线i|