Java Code Examples for android.widget.EditText#setEnabled()

The following examples show how to use android.widget.EditText#setEnabled() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: EditTextPreference.java    From android_9.0.0_r45 with Apache License 2.0 6 votes vote down vote up
public EditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
    
    mEditText = new EditText(context, attrs);
    
    // Give it an ID so it can be saved/restored
    mEditText.setId(com.android.internal.R.id.edit);
    
    /*
     * The preference framework and view framework both have an 'enabled'
     * attribute. Most likely, the 'enabled' specified in this XML is for
     * the preference framework, but it was also given to the view framework.
     * We reset the enabled state.
     */
    mEditText.setEnabled(true);
}
 
Example 2
Source File: ValidatedEditTextPreference.java    From oversec with GNU General Public License v3.0 6 votes vote down vote up
private void initialize(AttributeSet attrs) {
	// setup edit text
	mEditText = new EditText(getContext(), attrs);
	mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
	mEditText.setEnabled(true);
	mEditText.setLayoutParams(new ViewGroup.LayoutParams(
			ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
	
	// setup layout for edit text
	int dip = (int) (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10,
			getContext().getResources().getDisplayMetrics()) + 0.5f);
	
	mEditTextlayout = new LinearLayout(getContext());
	mEditTextlayout.setLayoutParams(new ViewGroup.LayoutParams(
			ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
	mEditTextlayout.setPadding(dip, dip, dip, dip);
	mEditTextlayout.addView(mEditText);
}
 
Example 3
Source File: Connection.java    From PS4-Payload-Sender-Android with BSD 3-Clause "New" or "Revised" License 6 votes vote down vote up
public  void Connect(View view)
{
    final EditText ips = (EditText) findViewById(R.id.IPAddressTextBox);
    final EditText ports = (EditText) findViewById(R.id.PortTextBox);

    if (ips.getText().toString().equals("") || ports.getText().toString().equals("")) {
        new AlertDialog.Builder(this)
                .setTitle(R.string.error)
                .setMessage(R.string.enter_port_and_ip)
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                    }
                })
                .show();
    }
    else
    {
        ip = ips.getText().toString();
        port = Integer.parseInt(ports.getText().toString());

        ips.setEnabled(false);
        ports.setEnabled(false);
        ConnectBtn.setEnabled(false);
        BrowseBtn.setEnabled(true);
    }
}
 
Example 4
Source File: CloudProfileConfigurationDialogFragment.java    From SensorTag-CC2650 with Apache License 2.0 6 votes vote down vote up
public void enDisTopic(boolean en, String topic) {
    TextView t = (TextView)v.findViewById(R.id.cloud_publish_topic_label);
    EditText e = (EditText)v.findViewById(R.id.cloud_publish_topic);

    e.setEnabled(en);
    e.setText(topic);

    if (en) {
        t.setAlpha(1.0f);
        e.setAlpha(1.0f);
    }
    else {
        t.setAlpha(0.4f);
        e.setAlpha(0.4f);
    }
}
 
Example 5
Source File: CloudProfileConfigurationDialogFragment.java    From SensorTag-CC2650 with Apache License 2.0 6 votes vote down vote up
public void enDisBrokerAddressPort(boolean en,String brokerAddress, String brokerPort) {
    TextView t = (TextView)v.findViewById(R.id.cloud_broker_address_label);
    EditText e = (EditText)v.findViewById(R.id.cloud_broker_address);
    TextView tP = (TextView)v.findViewById(R.id.cloud_broker_port_label);
    EditText eP = (EditText)v.findViewById(R.id.cloud_broker_port);

    e.setEnabled(en);
    eP.setEnabled(en);
    e.setText(brokerAddress);
    eP.setText(brokerPort);
    if (en) {
        t.setAlpha(1.0f);
        e.setAlpha(1.0f);
        tP.setAlpha(1.0f);
        eP.setAlpha(1.0f);
    }
    else {
        t.setAlpha(0.4f);
        tP.setAlpha(0.4f);
        e.setAlpha(0.4f);
        eP.setAlpha(0.4f);
    }
}
 
Example 6
Source File: NewSensorLocation.java    From xDrip with GNU General Public License v3.0 5 votes vote down vote up
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new_sensor_location);
    button = (Button)findViewById(R.id.saveSensorLocation);
    buttonCancel = (Button)findViewById(R.id.saveSensorLocationCancel);
    sensor_location_other = (EditText) findViewById(R.id.edit_sensor_location);
    sensor_location_other.setEnabled(false);
    DontAskAgain = (CheckBox)findViewById(R.id.sensorLocationDontAskAgain);
    radioGroup = (RadioGroup) findViewById(R.id.myRadioGroup);
    addListenerOnButton();

    locations = new LinkedList<Location>();

    locations.add(new Location("I don't wish to share", PRIVATE_ID));
    locations.add(new Location("Upper arm", 1));
    locations.add(new Location("Thigh", 2));
    locations.add(new Location("Belly (abdomen)", 3));
    locations.add(new Location("Lower back", 4));
    locations.add(new Location("Buttocks", 5));
    locations.add(new Location("Other", OTHER_ID));

    for(Location location : locations) {
        AddButton(location.location, location.location_id);
    }
    radioGroup.check(PRIVATE_ID);

}
 
Example 7
Source File: VideoInviteActivity.java    From video-quickstart-android with MIT License 5 votes vote down vote up
private void showVideoNotificationConnectDialog(String title, String roomName) {
    EditText roomEditText = new EditText(this);
    roomEditText.setText(roomName);
    // Use the default color instead of the disabled color
    int currentColor = roomEditText.getCurrentTextColor();
    roomEditText.setEnabled(false);
    roomEditText.setTextColor(currentColor);
    alertDialog = createConnectDialog(title,
            roomEditText,
            videoNotificationConnectClickListener(roomEditText),
            cancelConnectDialogClickListener(),
            this);
    alertDialog.show();
}
 
Example 8
Source File: AuthActivity.java    From samba-documents-provider with GNU General Public License v3.0 5 votes vote down vote up
private void prepareUI(String shareUri) {
  mSharePathEditText = (EditText) findViewById(R.id.share_path);
  mUsernameEditText = (EditText) findViewById(R.id.username);
  mDomainEditText = (EditText) findViewById(R.id.domain);
  mPasswordEditText = (EditText) findViewById(R.id.password);

  CheckBox passwordCheckbox = (CheckBox) findViewById(R.id.needs_password);
  mPinShareCheckbox = (CheckBox) findViewById(R.id.pin_share);

  mSharePathEditText.setText(shareUri);
  mSharePathEditText.setEnabled(false);

  passwordCheckbox.setVisibility(View.GONE);
  mPinShareCheckbox.setVisibility(View.VISIBLE);

  Button mLoginButton = (Button) findViewById(R.id.mount);
  mLoginButton.setText(getResources().getString(R.string.login));
  mLoginButton.setOnClickListener(mLoginListener);

  final Button cancel = (Button) findViewById(R.id.cancel);
  cancel.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
      finish();
    }
  });
}
 
Example 9
Source File: NewSensorLocation.java    From xDrip-Experimental with GNU General Public License v3.0 5 votes vote down vote up
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new_sensor_location);
    button = (Button)findViewById(R.id.saveSensorLocation);
    buttonCancel = (Button)findViewById(R.id.saveSensorLocationCancel);
    sensor_location_other = (EditText) findViewById(R.id.edit_sensor_location);
    sensor_location_other.setEnabled(false);
    DontAskAgain = (CheckBox)findViewById(R.id.sensorLocationDontAskAgain);
    radioGroup = (RadioGroup) findViewById(R.id.myRadioGroup);
    addListenerOnButton();

    locations = new LinkedList<Location>();

    locations.add(new Location("I don't wish to share", PRIVATE_ID));
    locations.add(new Location("Upper arm", 1));
    locations.add(new Location("Thigh", 2));
    locations.add(new Location("Belly (abdomen)", 3));
    locations.add(new Location("Lower back", 4));
    locations.add(new Location("Buttocks", 5));
    locations.add(new Location("Other", OTHER_ID));

    for(Location location : locations) {
        AddButton(location.location, location.location_id);
    }
    radioGroup.check(PRIVATE_ID);

}
 
Example 10
Source File: CloudProfileConfigurationDialogFragment.java    From SensorTag-CC2650 with Apache License 2.0 5 votes vote down vote up
public void enDisUsername (boolean enable,String username) {
    TextView t = (TextView)v.findViewById(R.id.cloud_username_label);
    EditText e = (EditText)v.findViewById(R.id.cloud_username);
    e.setEnabled(enable);
    e.setText(username);
    if (enable) {
        t.setAlpha(1.0f);
        e.setAlpha(1.0f);
    }
    else {
        t.setAlpha(0.4f);
        e.setAlpha(0.4f);
    }

}
 
Example 11
Source File: PinEntryWrapper.java    From Conversations with GNU General Public License v3.0 5 votes vote down vote up
public void setEnabled(final boolean enabled) {
    for (EditText digit : digits) {
        digit.setEnabled(enabled);
        digit.setCursorVisible(enabled);
        digit.setFocusable(enabled);
        digit.setFocusableInTouchMode(enabled);
    }
    if (enabled) {
        final EditText last = digits.get(digits.size() - 1);
        if (last.getEditableText().length() > 0) {
            last.requestFocus();
        }
    }
}
 
Example 12
Source File: GDynamicEditTextView.java    From geopaparazzi with GNU General Public License v3.0 5 votes vote down vote up
private void addSingleEditText(Context context, LinearLayout mainLayout, String singleValue, boolean readonly, int type) {
    EditText editView = new EditText(context);
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
    params.setMargins(15, 25, 15, 15);
    editView.setLayoutParams(params);
    editView.setText(singleValue);
    editView.setEnabled(!readonly);

    switch (type) {
        case 1:
            editView.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
            break;
        case 2:
            editView.setInputType(InputType.TYPE_CLASS_PHONE);
            break;
        case 3:
            editView.setInputType(InputType.TYPE_CLASS_DATETIME);
            break;
        case 4:
            editView.setInputType(InputType.TYPE_CLASS_NUMBER);
            break;
        default:
            break;
    }

    mainLayout.addView(editView);
    editViewList.add(editView);
}
 
Example 13
Source File: AnagramsActivity.java    From jterm-cswithandroid with Apache License 2.0 5 votes vote down vote up
public boolean defaultAction(View view) {
    TextView gameStatus = (TextView) findViewById(R.id.gameStatusView);
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    EditText editText = (EditText) findViewById(R.id.editText);
    TextView resultView = (TextView) findViewById(R.id.resultView);
    if (currentWord == null) {
        currentWord = dictionary.pickGoodStarterWord();
        anagrams = dictionary.getAnagramsWithOneMoreLetter(currentWord);
        gameStatus.setText(Html.fromHtml(String.format(START_MESSAGE, currentWord.toUpperCase(), currentWord)));
        fab.setImageResource(android.R.drawable.ic_menu_help);
        fab.hide();
        resultView.setText("");
        editText.setText("");
        editText.setEnabled(true);
        editText.requestFocus();
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
    } else {
        editText.setText(currentWord);
        editText.setEnabled(false);
        fab.setImageResource(android.R.drawable.ic_media_play);
        currentWord = null;
        resultView.append(TextUtils.join("\n", anagrams));
        gameStatus.append(" Hit 'Play' to start again");
    }
    return true;
}
 
Example 14
Source File: PinCodeActivity.java    From ResearchStack with Apache License 2.0 4 votes vote down vote up
@Override
public void onDataAuth() {
    LogExt.e(getClass(), "onDataAuth()");
    storageAccessUnregister();

    // Show pincode layout
    PinCodeConfig config = StorageAccess.getInstance().getPinCodeConfig();

    int theme = ThemeUtils.getPassCodeTheme(this);
    pinCodeLayout = new PinCodeLayout(new ContextThemeWrapper(this, theme));
    pinCodeLayout.setBackgroundColor(Color.WHITE);

    int errorColor = getResources().getColor(R.color.rsb_error);

    TextView summary = (TextView) pinCodeLayout.findViewById(R.id.text);
    EditText pincode = (EditText) pinCodeLayout.findViewById(R.id.pincode);

    toggleKeyboardAction = enable -> {
        pincode.setEnabled(enable);
        pincode.setText("");
        pincode.requestFocus();
        if (enable) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(pincode, InputMethodManager.SHOW_FORCED);
        }
    };

    RxTextView.textChanges(pincode).map(CharSequence::toString).doOnNext(pin -> {
        if (summary.getCurrentTextColor() == errorColor) {
            summary.setTextColor(ThemeUtils.getTextColorPrimary(PinCodeActivity.this));
            pinCodeLayout.resetSummaryText();
        }
    }).filter(pin -> pin != null && pin.length() == config.getPinLength()).doOnNext(pin -> {
        pincode.setEnabled(false);
        pinCodeLayout.showProgress(true);
    }).flatMap(pin -> Observable.fromCallable(() -> {
        StorageAccess.getInstance().authenticate(PinCodeActivity.this, pin);
        return true;
    }).compose(ObservableUtils.applyDefault()).doOnError(throwable -> {
        toggleKeyboardAction.call(true);
        throwable.printStackTrace();
        summary.setText(R.string.rsb_pincode_enter_error);
        summary.setTextColor(errorColor);
        pinCodeLayout.showProgress(false);
    }).onErrorResumeNext(throwable1 -> {
        return Observable.empty();
    })).subscribe(success -> {
        if (!success) {
            toggleKeyboardAction.call(true);
        } else {
            getWindowManager().removeView(pinCodeLayout);
            pinCodeLayout = null;
            // authenticate() no longer calls notifyReady(), call this after auth
            requestStorageAccess();
        }
    });

    WindowManager.LayoutParams params = new WindowManager.LayoutParams();
    getWindowManager().addView(pinCodeLayout, params);

    // Show keyboard, needs to be delayed, not sure why
    pinCodeLayout.postDelayed(() -> toggleKeyboardAction.call(true), 300);
}
 
Example 15
Source File: AuthenticatorActivity.java    From Cirrus_depricated with GNU General Public License v2.0 4 votes vote down vote up
/**
 * 
 * @param savedInstanceState        Saved activity state, as in {{@link #onCreate(Bundle)}
 */
private void initAuthorizationPreFragment(Bundle savedInstanceState) {
    
    /// step 0 - get UI elements in layout
    mOAuth2Check = (CheckBox) findViewById(R.id.oauth_onOff_check);
    mOAuthAuthEndpointText = (TextView)findViewById(R.id.oAuthEntryPoint_1);
    mOAuthTokenEndpointText = (TextView)findViewById(R.id.oAuthEntryPoint_2);
    mUsernameInput = (EditText) findViewById(R.id.account_username);
    mPasswordInput = (EditText) findViewById(R.id.account_password);
    mPasswordInput.setTypeface(mUsernameInput.getTypeface());
    mAuthStatusView = (TextView) findViewById(R.id.auth_status_text); 
    
    /// step 1 - load and process relevant inputs (resources, intent, savedInstanceState)
    String presetUserName = null;
    boolean isPasswordExposed = false;
    if (savedInstanceState == null) {
        if (mAccount != null) {
            presetUserName = mAccount.name.substring(0, mAccount.name.lastIndexOf('@'));
        }
        
    } else {
        isPasswordExposed = savedInstanceState.getBoolean(KEY_PASSWORD_EXPOSED, false);
        mAuthStatusText = savedInstanceState.getInt(KEY_AUTH_STATUS_TEXT);
        mAuthStatusIcon = savedInstanceState.getInt(KEY_AUTH_STATUS_ICON);
        mAuthToken = savedInstanceState.getString(KEY_AUTH_TOKEN);
    }
    
    /// step 2 - set properties of UI elements (text, visibility, enabled...)
    mOAuth2Check.setChecked(
            AccountTypeUtils.getAuthTokenTypeAccessToken(MainApp.getAccountType())
                .equals(mAuthTokenType));
    if (presetUserName != null) {
        mUsernameInput.setText(presetUserName);
    }
    if (mAction != ACTION_CREATE) {
        mUsernameInput.setEnabled(false);
        mUsernameInput.setFocusable(false);
    }
    mPasswordInput.setText(""); // clean password to avoid social hacking
    if (isPasswordExposed) {
        showPassword();
    }
    updateAuthenticationPreFragmentVisibility();
    showAuthStatus();
    mOkButton.setEnabled(mServerIsValid);

    
    /// step 3 - bind listeners
    // bindings for password input field
    mPasswordInput.setOnFocusChangeListener(this);
    mPasswordInput.setImeOptions(EditorInfo.IME_ACTION_DONE);
    mPasswordInput.setOnEditorActionListener(this);
    mPasswordInput.setOnTouchListener(new RightDrawableOnTouchListener() {
        @Override
        public boolean onDrawableTouch(final MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_UP) {
                AuthenticatorActivity.this.onViewPasswordClick();
            }
            return true;
        }
    });
    
}
 
Example 16
Source File: editsUtils.java    From Color-picker-library with GNU General Public License v3.0 4 votes vote down vote up
static void disableEditText(EditText editHEX, EditText someRGB, TextWatcher someRGBWatcher, TextWatcher hexWatcher) {
    someRGB.removeTextChangedListener(someRGBWatcher);
    someRGB.setEnabled(false);
    editHEX.removeTextChangedListener(hexWatcher);
    editHEX.setEnabled(false);
}
 
Example 17
Source File: IpcamActivity.java    From openwebnet-android with MIT License 4 votes vote down vote up
private void enableEditText(EditText editText) {
    editText.setEnabled(true);
    editText.setFocusableInTouchMode(true);
}
 
Example 18
Source File: GEditTextView.java    From geopaparazzi with GNU General Public License v3.0 4 votes vote down vote up
/**
     * @param context               the context to use.
     * @param attrs                 attributes.
     * @param parentView            parent
     * @param label                 label
     * @param value                 value
     * @param type                  the text type.
     * @param lines                 the lines num.
     * @param constraintDescription constraints
     * @param readonly              if <code>false</code>, the item is disabled for editing.
     */
    public GEditTextView(Context context, AttributeSet attrs, LinearLayout parentView, String label, String value, int type,
                         int lines, String constraintDescription, boolean readonly) {
        super(context, attrs);

        LinearLayout textLayout = new LinearLayout(context);
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                LayoutParams.WRAP_CONTENT);
        layoutParams.setMargins(10, 10, 10, 10);
        textLayout.setLayoutParams(layoutParams);
        textLayout.setOrientation(LinearLayout.VERTICAL);
        parentView.addView(textLayout);

        TextView textView = new TextView(context);
        textView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
        textView.setPadding(2, 2, 2, 2);
        textView.setText(label.replace(UNDERSCORE, " ").replace(COLON, " ") + " " + constraintDescription);
        textView.setTextColor(Compat.getColor(context, R.color.formcolor));

        textLayout.addView(textView);

        editView = new EditText(context);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        params.setMargins(15, 25, 15, 15);
        editView.setLayoutParams(params);
//        editView.setPadding(15, 5, 15, 5);
        editView.setText(value);
        editView.setEnabled(!readonly);

        switch (type) {
            case 1:
                editView.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
                break;
            case 2:
                editView.setInputType(InputType.TYPE_CLASS_PHONE);
                break;
            case 3:
                editView.setInputType(InputType.TYPE_CLASS_DATETIME);
                break;
            case 4:
                editView.setInputType(InputType.TYPE_CLASS_NUMBER);
                break;
            default:
                break;
        }

        if (lines > 0) {
            editView.setLines(lines);
            editView.setGravity(Gravity.TOP);
        }

        textLayout.addView(editView);
    }
 
Example 19
Source File: AlertBuilder.java    From biermacht with Apache License 2.0 4 votes vote down vote up
public AlertDialog.Builder editTextFloatCheckBoxAlert(final TextView text, final TextView title, boolean checked, final BooleanCallback cb) {
  LayoutInflater factory = LayoutInflater.from(context);
  final LinearLayout alertView = (LinearLayout) factory.inflate(R.layout.alert_view_edit_text_float_with_check_box, null);
  final EditText editText = (EditText) alertView.findViewById(R.id.edit_text);
  final CheckBox checkBox = (CheckBox) alertView.findViewById(R.id.check_box);

  // Set text
  editText.setText(text.getText().toString());

  checkBox.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
      cb.call(checkBox.isChecked());
      if (checkBox.isChecked()) {
        editText.setEnabled(false);
        editText.setClickable(false);
        editText.setFocusable(false);
        editText.setFocusableInTouchMode(false);
        editText.setText(text.getText().toString());
      }
      else {
        editText.setEnabled(true);
        editText.setClickable(true);
        editText.setFocusable(true);
        editText.setFocusableInTouchMode(true);
      }
    }
  });

  // Set the box to be checked or not.
  checkBox.setChecked(checked);

  // If checked initially, grey out edit text
  if (checked) {
    editText.setEnabled(false);
    editText.setClickable(false);
    editText.setFocusable(false);
    editText.setFocusableInTouchMode(false);
  }

  return new AlertDialog.Builder(context)
          .setTitle(title.getText().toString())
          .setView(alertView)
          .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
              text.setText(editText.getText().toString());
              callback.call();
              cb.call(checkBox.isChecked());
            }

          })

          .setNegativeButton(R.string.cancel, null);
}
 
Example 20
Source File: UARTEditDialog.java    From Android-nRF-Toolbox with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@NonNull
   @Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
	final LayoutInflater inflater = LayoutInflater.from(getActivity());

	// Read button configuration
	final Bundle args = requireArguments();
	final int index = args.getInt(ARG_INDEX);
	final String command = args.getString(ARG_COMMAND);
	final int eol = args.getInt(ARG_EOL);
	final int iconIndex = args.getInt(ARG_ICON_INDEX);
	final boolean active = true; // change to active by default
	activeIcon = iconIndex;

	// Create view
	final View view = inflater.inflate(R.layout.feature_uart_dialog_edit, null);
	final EditText field = this.field = view.findViewById(R.id.field);
	final GridView grid = view.findViewById(R.id.grid);
	final CheckBox checkBox = activeCheckBox = view.findViewById(R.id.active);
	checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
		field.setEnabled(isChecked);
		grid.setEnabled(isChecked);
		if (iconAdapter != null)
			iconAdapter.notifyDataSetChanged();
	});

	final RadioGroup eolGroup = this.eolGroup = view.findViewById(R.id.uart_eol);
	switch (Command.Eol.values()[eol]) {
		case CR_LF:
			eolGroup.check(R.id.uart_eol_cr_lf);
			break;
		case CR:
			eolGroup.check(R.id.uart_eol_cr);
			break;
		case LF:
		default:
			eolGroup.check(R.id.uart_eol_lf);
			break;
	}

	field.setText(command);
	field.setEnabled(active);
	checkBox.setChecked(active);
	grid.setOnItemClickListener(this);
	grid.setEnabled(active);
	grid.setAdapter(iconAdapter = new IconAdapter());

	// As we want to have some validation we can't user the DialogInterface.OnClickListener as it's always dismissing the dialog.
	final AlertDialog dialog = new AlertDialog.Builder(requireContext())
			.setCancelable(false)
			.setTitle(R.string.uart_edit_title)
			.setPositiveButton(R.string.ok, null)
			.setNegativeButton(R.string.cancel, null)
			.setView(view)
			.show();
	final Button okButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
	okButton.setOnClickListener(this);
	return dialog;
}