【问题标题】:How to force EditTextPreference to accept only four letters or more?如何强制 EditTextPreference 只接受四个或更多字母?
【发布时间】:2016-08-31 09:45:50
【问题描述】:

在我的项目设置中有一个 EditTextPreference 用于更改用户名,但我不希望用户设置的用户名少于 4 个字符。

有什么方法可以限制用户输入或者为EditTextPreference中的值输入制定规则吗?

【问题讨论】:

  • stackoverflow.com/questions/17781553/… 也许这会有所帮助
  • 请注意SharedPreferences 可以在有根设备上编辑。因此,据我所知,您正在为令人讨厌的惊喜打开一扇门。还有你想要实现的,我认为你要么必须继承EditTextPreference,要么检查你的OnPreferenceChangeListener。
  • 在您的偏好活动中,您可以使用文本观察器进行 edittextpreference,也可以在 onPreferenceChange 方法中检查它
  • 也许这个答案是你可以从中得到一些想法的东西 - stackoverflow.com/a/18103350/1276636
  • @Sufian 但是在android studio中安全存储用户名和密码的最佳方法是什么,用户也可以从应用程序中修改

标签: android edittextpreference


【解决方案1】:

尝试使用这个:

Button btnCheckUsername = (Button) findViewById(R.id.btnLogin);
EditText et = (EditText) findViewById(R.id.editTextUsername);
    et.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            if (charSequence.length() < 4)
            {
                btnCheckUsername.setEnabled(false);
            } else
            {
                btnCheckUsername.setEnabled(true);
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });

对于 EditTextPreferences this 可能会对您有所帮助:)

【讨论】:

  • 这种方式在登录活动中.. 我的问题是如何做类似的事情,但使用EditTextPreference Dialog
猜你喜欢
  • 2020-05-11
  • 2011-04-17
  • 1970-01-01
  • 2012-03-09
  • 2014-06-06
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
相关资源
最近更新 更多