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 />}