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

putExtra无法读取TextInputEditText内容的问题求助

问题原因与解决方案

问题根源

你在onCreate方法启动时就直接获取了TextInputEditText的内容并赋值给dados,此时Activity刚初始化完成,用户还没在输入框中输入任何内容,所以dados从一开始就是空字符串。当点击按钮时,你传递的是这个提前初始化好的空值,而非用户输入后的实时内容。换成固定字符串"teste"能正常工作,是因为这个值是静态固定的,不会随用户操作变化。

修复代码

将读取输入框内容的逻辑移到按钮的onClick事件内部,这样每次点击按钮时才会读取输入框的实时内容:

public class MainActivity2 extends AppCompatActivity {
    Button button5;
    TextInputEditText textoinput;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addpriority);

        textoinput = findViewById(R.id.texto);
        button5 = findViewById(R.id.button5);

        button5.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                // 点击按钮时读取输入框的实时内容
                String dados = textoinput.getText().toString();
                Intent intent = new Intent(getApplicationContext(), MainActivityMenu.class);
                intent.putExtra("chave", dados);
                startActivity(intent);
            }
        });
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:09:52