验证偏好。安卓

发布于 2024-12-06 19:29:17 字数 151 浏览 1 评论 0原文

我的 PreferenceActivity 有 2 个字段。

  1. URL
  2. 时间(以秒为单位)

我需要验证第一个 URL 是否有效,第二个 URL 是否为整数值。我如何用标准方法做到这一点?

I have PreferenceActivity with 2 fields.

  1. A URL
  2. Time in seconds

I need to validate the first one for a valid URL and the second for an integer value. How do I do it with standard means?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里人 2024-12-13 19:29:17

以下是在片段中实现 OnPreferenceChangeListener 的一些代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");

    Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean rtnval = true;
            if (Your_Test) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setTitle("Invalid Input");
                builder.setMessage("Something's gone wrong...");
                builder.setPositiveButton(android.R.string.ok, null);
                builder.show();
                rtnval = false;
            }
            return rtnval;
        }
    });
}

Here's some code implementing OnPreferenceChangeListener in your fragment:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");

    Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean rtnval = true;
            if (Your_Test) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setTitle("Invalid Input");
                builder.setMessage("Something's gone wrong...");
                builder.setPositiveButton(android.R.string.ok, null);
                builder.show();
                rtnval = false;
            }
            return rtnval;
        }
    });
}
吃→可爱长大的 2024-12-13 19:29:17

您可以在 xml 中对这些字段使用 android:inputType 属性,这将向用户显示一个键盘,用于以特定格式输入值。

查看更多

http://developer.android.com/reference/android/text/InputType .html

但这并不能保证 URL 不会格式错误。您需要在提交处理程序中使用正则表达式进行检查。

You can use android:inputType attribute for these fields in the xml, this will display a keyboard to the user for entering the value in a specific format.

See more

http://developer.android.com/reference/android/text/InputType.html

But this do not guarantee that the URL will not be malformed. That you would need to check using regular expression in your submit handler.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文