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

标签 java android

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

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!");
            }
        }
    });

最佳答案

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

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!");
            }
        }
    });

关于java - 为什么 Android EditText 显示为空,即使输入了文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42906797/

相关文章:

android - AdapterView 不支持 UnsupportedOperationException : addView(View, LayoutParams)

android - 如何使用电话间隙访问数据库

java - 无法从 CursorWindow 读取第 34 行第 11 列

java - 为什么在 Java 中双重转换会丢失精度?

java - 相对于父类(super class)构造函数的最终可变初始化

java - 如何使用 Java 8 Stream API 将嵌套列表合并为简单列表

java - 如何在jComboBox中显示多个字段但只在数据库中插入一个字段?

android - 在android中找不到列item_name

android - 如何使用 Google Maps Android API v2 绘制动态线(路线)

java - 排除某些网址被抓取