繁体   English   中英

如何使 EditText 不为空?

[英]How to make EditText not empty?

我有一个 editText 和按钮。 EditText 用于用户名。 我有问题,我的代码如下。

 String fullname = editText.getText().toString();
    if (TextUtils.isEmpty(fullname)){
        Toast.makeText(this, "Name should not be empty", Toast.LENGTH_SHORT).show();

我的问题是当用户点击按钮而不放置任何东西时,吐司消息显示; 这很好,但是当用户放置空间时,它会将全名值存储为空。 我不想要空值。

您应该修剪输入: fullname.trim().isEmpty()以去除前导和尾随空格。 所以如果你有一个只有空格的输入,它会认为它是空的。

当文本无效时,我会禁用该按钮。 最好尽早验证而不是过早地允许操作。 也可以使用TextWatcher修改用户输入以删除无效空格等。

        <EditText
            android:id="@+id/editText"
            android:layout_margin="16dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"/>

        <Button
            android:id="@+id/button"
            android:layout_margin="16dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@android:string/ok"/>

在活动或片段中:

    editText.addTextChangedListener(
            object : TextWatcher {
                override fun afterTextChanged(s: Editable) {
                    button.isEnabled = s.trim().isNotEmpty()
                }

                override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}

                override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}

            }
    )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM