【问题标题】:getText is not working in Android studiogetText 在 Android 工作室中不起作用
【发布时间】:2018-04-08 11:22:26
【问题描述】:
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 中,但它不起作用,我发现读取数据时出现了一些问题。 如果有人能帮助我,那就太好了,谢谢。

【问题讨论】:

    标签: android android-toast


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,一切正常。我会牢记这一点
    【解决方案2】:

    尝试将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 内的文本为空。

    【讨论】:

    • 感谢您的帮助,现在一切正常。
    猜你喜欢
    • 2020-12-19
    • 1970-01-01
    • 2018-08-02
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2019-06-12
    相关资源
    最近更新 更多