getText 在 Android 工作室中不工作

getText is not working in Android studio

package com.example.mediosa.mediosa;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

import com.firebase.client.Firebase;

public class registerActivity extends AppCompatActivity {

    private Button buttonSignIn, buttonRegister;
    private EditText editTextUsername;
    private EditText editTextEmail;
    private EditText editTextPassword;
    private EditText editTextDOB;
    private EditText editTextName;
    private RadioButton radioButtonMale, radioButtonFemale;


    private Firebase rootRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        rootRef = new Firebase(FIREBASE_URL");

        buttonSignIn = (Button)findViewById(R.id.buttonSignIn);
        editTextDOB = (EditText)findViewById(R.id.editTextDOBReg);
        editTextUsername = (EditText)findViewById(R.id.editTextUsernameReg);
        editTextEmail = (EditText)findViewById(R.id.editTextEmailReg);
        editTextPassword = (EditText)findViewById(R.id.editTextPasswordReg);
        editTextName = (EditText)findViewById(R.id.editTextNameReg);
        radioButtonFemale =(RadioButton)findViewById(R.id.radioButtonFemale);
        radioButtonMale = (RadioButton)findViewById(R.id.radioButtonMale);

        buttonRegister = (Button)findViewById(R.id.buttonRegister);


        buttonSignIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(registerActivity.this , 
LoginActivity.class));
            }
        });

        final String Name = editTextName.getText().toString();
        buttonRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(registerActivity.this, Name , 
Toast.LENGTH_SHORT).show();
            }
        });




    }


}

我是 Android 的新手,正在做一个项目。 在此代码(该项目的一部分)中,我无法从用户名中读取数据。编译器没有显示错误并且代码工作正常,但是当我尝试使用 toast 显示名称字符串中的数据时,它完全是空白的。

我需要这个名称和其他字段来将数据存储在 Firebase DB 中,但它不起作用,我发现读取数据时出现了一些问题。 如果有人能帮助我,那就太好了,谢谢。

尝试将 getText() 放入 OnClickListener:

        buttonRegister.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final String Name = editTextName.getText().toString();
            Toast.makeText(registerActivity.this, Name , 
            Toast.LENGTH_SHORT).show();
        }
    });

这是因为你在onCreate()里面调用了getText()。看看它放在哪里。因此,当创建 Activity 时,EditText 中的文本为空。

问题是您没有更新 Name 的值,同时如果您只想显示文本,则不需要变量。这是显示文本的方式。

buttonRegister.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(registerActivity.this, 
            editTextName.getText().toString(), 
            Toast.LENGTH_SHORT).show();
        }
    });