Android:Toast和Edit.GetText

时间:2012-01-23 16:37:24

标签: android button android-edittext

我试图找出用户是否在编辑文本中添加了某些内容。 它有效,但当我不输入任何它不会显示; “请输入你的名字”。 也试过null而不是“”或“”不起作用。

任何帮助?

    package com.grumbledorf.Hellotraining;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class main extends Activity {

    EditText etName;
    Button btMake;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        etName = (EditText) findViewById(R.id.etName);
        btMake = (Button) findViewById(R.id.btPress);
        final Context context = getApplicationContext();
        final int duration = Toast.LENGTH_SHORT;

        btMake.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                if(etName.getText().toString() == " "){

                    Toast toast = Toast.makeText(context, "Please enter your name", duration);
                    toast.show();
                }else{
                    String Henk = etName.getText().toString();
                    Toast toast = Toast.makeText(context, "Welcome, " +  Henk, duration);
                    toast.show();
                }

            }
        });



    }
}

4 个答案:

答案 0 :(得分:2)

也许我弄错了,但为什么你认为默认输入是" "

尝试使用if(etName.getText().equals(""))

答案 1 :(得分:1)

试试这个:etName.getText()。toString()。equals(“”)

在java中,比较String值时,需要使用.equals(..)方法。比较两个对象的引用时,只有==

答案 2 :(得分:0)

Lars,而不是:

etName.getText().toString() == " ";

使用:

etName.getText().toString().length() == 0;

答案 3 :(得分:0)

etName.getText().toString() == " "

该代码不起作用。 “”实际上创建了一个新的String并比较了内存​​地址。那么内存地址也不一样,因为它是一个不同的对象。使用

etName.getText().toString().equals("")