You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android新手求助:EditText始终返回空值问题

解决EditText获取值始终为空的问题

嘿,我看到你遇到的问题了——每次点击按钮都提示EditText为空,这是个新手很容易踩的小坑,咱们来快速搞定它!

问题根源

你在onCreate方法里就提前把name变量赋值为editText.getText().toString()了:

final String name = editText.getText().toString();

这时候Activity刚初始化完成,EditText里还没有任何用户输入,所以name从一开始就是空字符串。之后点击按钮时,你判断的还是这个初始的空值,而不是用户点击按钮时EditText里的实时内容。

修正后的代码

把获取EditText文本的逻辑移到按钮的onClick事件里,这样每次点击都会读取当前的输入内容:

package task.com.helloworld;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Button button;
    TextView textView;
    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button)findViewById(R.id.button);
        textView = (TextView)findViewById(R.id.textView6);
        editText = (EditText)findViewById(R.id.editText);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 把获取文本的代码移到这里,每次点击都读取实时内容
                String name = editText.getText().toString();
                // 可选:用trim()去掉前后空格,避免空输入或空格被误判
                // String name = editText.getText().toString().trim();
                if(TextUtils.isEmpty(name))
                    Toast.makeText(MainActivity.this, "Edit Text is Empty", Toast.LENGTH_LONG).show();
                else
                    Toast.makeText(MainActivity.this, "Edit Text is not Empty", Toast.LENGTH_LONG).show();
            }
        });
    }
}

额外小提示

如果想避免用户只输入空格就被判定为有效内容,可以在获取文本后加上trim(),把前后的空白字符去掉,这样判断逻辑会更严谨~

内容的提问来源于stack exchange,提问作者Biswajit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:37:19