Java 为什么即使输入了文本,Android EditText仍显示为空?

Java 为什么即使输入了文本,Android EditText仍显示为空?,java,android,Java,Android,我试图测试两个EditText视图,看看它们是否包含正确的用户名和密码。我遇到的问题是EditText输入显示“”,即使我已将文本输入到视图中。我做错了什么 package com.example.cs984x.iteration_one; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Butto

我试图测试两个EditText视图,看看它们是否包含正确的用户名和密码。我遇到的问题是EditText输入显示“”,即使我已将文本输入到视图中。我做错了什么

package com.example.cs984x.iteration_one;

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.TextView;

public class MainActivity extends AppCompatActivity {

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

    Button btn1 = (Button) findViewById((R.id.button));
    final EditText userName = (EditText) findViewById((R.id.editText));
    final EditText pw = (EditText) findViewById((R.id.editText1));
    final TextView result = (TextView) findViewById(R.id.textView3);

    final String u = userName.getText().toString();

    final String p = pw.getText().toString();


    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if ((u.equals("Android")) && (p.equals("123123"))) {

                result.setText("Success!");
            }
            else {
                result.setText("Failed!");
            }
        }
    });

您正在创建活动期间初始化u和p(此时,editText为空)。您需要在事件处理程序(onClick)中获取值:


问题:

  • 您正在对照
    u
    ,该值是在文本为空时在活动初始化时设置的


  • “从文本视图和字符串中删除最终版本可能重复。@RubenalDers不是重复的版本。”。谢谢,这将帮助我记住在初始化变量和测试变量时要注意的事项。谢谢,我现在明白了。。。希望我不会再犯这个错误了。
    btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if ((userName.getText().toString().equals("Android")) && (pw.getText().toString().equals("123123"))) {
    
                    result.setText("Success!");
                }
                else {
                    result.setText("Failed!");
                }
            }
        });
    
    EditText userName = (EditText) findViewById((R.id.editText));
    EditText pw = (EditText) findViewById((R.id.editText1));
    TextView result = (TextView) findViewById(R.id.textView3);
    
    
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    
         String u = userName.getText().toString();
         String p = pw.getText().toString();
    
            if ((u.equals("Android")) && (p.equals("123123"))) {
    
                result.setText("Success!");
            }
            else {
                result.setText("Failed!");
            }
        }
    });