EditText.getText().toString()在按钮单击时崩溃

0 java string android android-edittext

我有以下问题.我想检查一下我EditText是否在Button点击时包含值/字符串.开始了:

private EditText Name;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    Name = (EditText)findViewById(R.id.RegisterName);

}

    public void RegisterClick(View v)
{
    String StrName = Name.getText().toString();
    if(StrName != "")
        Toast.makeText(null, "Got My String.", Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)

我还把它放到layout.xml中,它不是整个代码

<Button
android:onClick="RegisterClick" />
Run Code Online (Sandbox Code Playgroud)

所以现在,当我尝试调试时,调试器在我通过顺序之后关闭,我想从中设置StrName EditText.

StE*_*rMi 7

它在哪里崩溃?

我认为这是崩溃:

Toast.makeText(null, "Got My String.", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

您无法将null上下文传递给makeText.如果你在一个活动中传递它,this否则(如果你在一个片段中)传递一个getActivity()

此外,在Java中,永远不要使用!===使用字符串,但总是s1.equals(s2)(并且在进行空检查之前)