簡體   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