android Dialog的確定按鈕點擊後不取消對話方塊

來源:互聯網
上載者:User

private Dialog modifyNickName() {<br />LayoutInflater factory = LayoutInflater.from(this);<br />final View textEntryView = factory.inflate(<br />R.layout.alert_change_nickname, null);<br />return new AlertDialog.Builder(My.this).setIcon(<br />R.drawable.alert_dialog_icon).setTitle(<br />getString(R.string.change_nickname)).setView(textEntryView)<br />.setPositiveButton(R.string.alert_dialog_setting,<br />new DialogInterface.OnClickListener() {<br />public void onClick(DialogInterface dialog,<br />int whichButton) {<br />EditText editNickNameText = (EditText) textEntryView<br />.findViewById(R.id.nickname);<br />String nickName = editNickNameText.getText()<br />.toString();<br />Toast.makeText(<br />My.this,<br />nickName,<br />Toast.LENGTH_SHORT).show();<br />Field field;<br />try {<br />field = dialog.getClass()<br />.getSuperclass().getDeclaredField(<br />"mShowing");<br />field.setAccessible(true);<br />if(nickName == null || nickName.equals(""))<br />{<br />field.set(dialog, false);<br />}else<br />{<br />field.set(dialog, true);<br />}<br />dialog.dismiss();<br />} catch (SecurityException e) {<br />e.printStackTrace();<br />} catch (NoSuchFieldException e) {<br />e.printStackTrace();<br />} catch (IllegalArgumentException e) {<br />e.printStackTrace();<br />} catch (IllegalAccessException e) {<br />e.printStackTrace();<br />}<br />}<br />}).setNegativeButton(R.string.alert_dialog_cancel,<br />new DialogInterface.OnClickListener() {<br />public void onClick(DialogInterface dialog,<br />int whichButton) {<br />Field field;<br />try {<br />field = dialog.getClass()<br />.getSuperclass().getDeclaredField(<br />"mShowing");<br />field.setAccessible(true);<br />field.set(dialog, true);<br />dialog.dismiss();<br />} catch (SecurityException e) {<br />e.printStackTrace();<br />} catch (NoSuchFieldException e) {<br />e.printStackTrace();<br />} catch (IllegalArgumentException e) {<br />e.printStackTrace();<br />} catch (IllegalAccessException e) {<br />e.printStackTrace();<br />}<br />}<br />}).create();<br />} 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.