首页 > 解决方案 > 找不到符号getEditText()android

问题描述

我在 aosp 10 设置中使用 androidx 首选项。这是代码。但我在 getEditText() 处得到错误

import android.widget.EditText;
import androidx.preference.EditTextPreference;

  
  public class MainActivity extends SettingspreferenceFragment {

         private EditText mPortFieldEditText;
         private EditTextPreference mPortField;

         public void onCreate(Bundle savedInstanceState) {

             super.onCreate(savedInstanceState);
             addPreferencesFromResource(R.xml.proxy_settings);
             mPortField = (EditTextPreference)findPreference(KEY_PROXY_PORT);
             mPortFieldEditText = mPortField.getEditText();
         }
   } 

我在 getEditText() 处遇到错误。

  error: cannot find symbol at getEditText() 
        mPortFieldEditText = mPortField.getEditText();

标签: androidandroid-source

解决方案


android.preference.EditTextPreference有这种方法,但已被弃用,因此需要AndroidX像你正在做的那样使用,但EditTextPreferenceAndroidX 没有getEditText()

您可以使用setDialogLayoutResource或其他方法DialogPreference来配置您的Preference.


推荐阅读