@Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder adb = new AlertDialog.Builder(getActivity()); Settings settings = Settings.getInstance(getActivity()); String actionName; switch (getAction()) { case ADD_ACTION: actionName = getString(R.string.add); break; case EDIT_ACTION: actionName = getString(R.string.edit); break; case CONNECT_ACTION: actionName = getString(R.string.connect); break; default: throw new RuntimeException("Unknown action " + getAction()); } adb.setPositiveButton(actionName, null); adb.setNegativeButton(android.R.string.cancel, null); LayoutInflater inflater = LayoutInflater.from(getActivity()); View view = inflater.inflate(R.layout.dialog_server_edit, null, false); TextView titleLabel = (TextView) view.findViewById(R.id.server_edit_name_title); mNameEdit = (EditText) view.findViewById(R.id.server_edit_name); mHostEdit = (EditText) view.findViewById(R.id.server_edit_host); mPortEdit = (EditText) view.findViewById(R.id.server_edit_port); mUsernameEdit = (EditText) view.findViewById(R.id.server_edit_username); mUsernameEdit.setHint(settings.getDefaultUsername()); mPasswordEdit = (EditText) view.findViewById(R.id.server_edit_password); Server oldServer = getServer(); if (oldServer != null) { mNameEdit.setText(oldServer.getName()); mHostEdit.setText(oldServer.getHost()); mPortEdit.setText(String.valueOf(oldServer.getPort())); mUsernameEdit.setText(oldServer.getUsername()); mPasswordEdit.setText(oldServer.getPassword()); } if (shouldIgnoreTitle()) { titleLabel.setVisibility(View.GONE); mNameEdit.setVisibility(View.GONE); } // Fixes issues with text colour on light themes with pre-honeycomb devices. adb.setInverseBackgroundForced(true); adb.setView(view); return adb.create(); }