public class

EditTextPreferenceDialogFragment

extends PreferenceDialogFragment

 java.lang.Object

↳android.app.DialogFragment

androidx.preference.PreferenceDialogFragment

↳androidx.preference.EditTextPreferenceDialogFragment

Gradle dependencies

compile group: 'androidx.preference', name: 'preference', version: '1.2.0'

  • groupId: androidx.preference
  • artifactId: preference
  • version: 1.2.0

Artifact androidx.preference:preference:1.2.0 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.preference:preference com.android.support:preference-v7

Androidx class mapping:

androidx.preference.EditTextPreferenceDialogFragment android.support.v14.preference.EditTextPreferenceDialogFragment

Summary

Fields
from PreferenceDialogFragmentARG_KEY
Constructors
publicEditTextPreferenceDialogFragment()

Methods
protected booleanneedInputMethod()

public static EditTextPreferenceDialogFragmentnewInstance(java.lang.String key)

protected voidonBindDialogView(View view)

Binds views in the content view of the dialog to data.

public voidonCreate(Bundle savedInstanceState)

public voidonDialogClosed(boolean positiveResult)

public voidonSaveInstanceState(Bundle outState)

from PreferenceDialogFragmentgetPreference, onClick, onCreateDialog, onCreateDialogView, onDismiss, onPrepareDialogBuilder
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public EditTextPreferenceDialogFragment()

Deprecated: Use EditTextPreferenceDialogFragmentCompat instead

Methods

public static EditTextPreferenceDialogFragment newInstance(java.lang.String key)

Deprecated: Use EditTextPreferenceDialogFragmentCompat instead

public void onCreate(Bundle savedInstanceState)

public void onSaveInstanceState(Bundle outState)

protected void onBindDialogView(View view)

Deprecated: Use PreferenceDialogFragmentCompat instead

Binds views in the content view of the dialog to data.

Make sure to call through to the superclass implementation.

Parameters:

view: The content view of the dialog, if it is custom

protected boolean needInputMethod()

public void onDialogClosed(boolean positiveResult)

Deprecated: Use EditTextPreferenceDialogFragmentCompat instead

Source

/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.preference;

import static androidx.annotation.RestrictTo.Scope.LIBRARY;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RestrictTo;

/**
 * @deprecated Use {@link EditTextPreferenceDialogFragmentCompat} instead
 */
@SuppressWarnings("deprecation")
@Deprecated
public class EditTextPreferenceDialogFragment extends PreferenceDialogFragment {

    private static final String SAVE_STATE_TEXT = "EditTextPreferenceDialogFragment.text";

    private EditText mEditText;

    private CharSequence mText;

    /**
     * @deprecated Use {@link EditTextPreferenceDialogFragmentCompat} instead
     */
    @Deprecated
    public EditTextPreferenceDialogFragment() {}

    /**
     * @deprecated Use {@link EditTextPreferenceDialogFragmentCompat} instead
     */
    @NonNull
    @Deprecated
    public static EditTextPreferenceDialogFragment newInstance(String key) {
        final EditTextPreferenceDialogFragment
                fragment = new EditTextPreferenceDialogFragment();
        final Bundle b = new Bundle(1);
        b.putString(ARG_KEY, key);
        fragment.setArguments(b);
        return fragment;
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (savedInstanceState == null) {
            mText = getEditTextPreference().getText();
        } else {
            mText = savedInstanceState.getCharSequence(SAVE_STATE_TEXT);
        }
    }

    @Override
    public void onSaveInstanceState(@NonNull Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putCharSequence(SAVE_STATE_TEXT, mText);
    }

    @Override
    protected void onBindDialogView(@NonNull View view) {
        super.onBindDialogView(view);

        mEditText = view.findViewById(android.R.id.edit);
        mEditText.requestFocus();

        if (mEditText == null) {
            throw new IllegalStateException("Dialog view must contain an EditText with id"
                    + " @android:id/edit");
        }

        mEditText.setText(mText);
        // Place cursor at the end
        mEditText.setSelection(mEditText.getText().length());
    }

    private EditTextPreference getEditTextPreference() {
        return (EditTextPreference) getPreference();
    }

    /** @hide */
    @RestrictTo(LIBRARY)
    @Override
    protected boolean needInputMethod() {
        // We want the input method to show, if possible, when dialog is displayed
        return true;
    }

    /**
     * @deprecated Use {@link EditTextPreferenceDialogFragmentCompat} instead
     */
    @Deprecated
    @Override
    public void onDialogClosed(boolean positiveResult) {

        if (positiveResult) {
            String value = mEditText.getText().toString();
            if (getEditTextPreference().callChangeListener(value)) {
                getEditTextPreference().setText(value);
            }
        }
    }

}