我正在制作一个简单的密码应用程序。
像我在VB中做的那样。
我有我的代码
package com.example.password;
import android.widget.*;
import com.example.password.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Button btn1;
EditText et1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
et1 = (EditText) findViewById(R.id.editText1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if ("u" == et1.getText().toString()){
Toast.makeText(MainActivity.this, "Yay!! GOOD GUESS", Toast.LENGTH_LONG ).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; his adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
没有编译或运行时错误,但是当我获得“密码”时,我没有弹出Toast
。
答案 0 :(得分:4)
更改
if ("u" == et1.getText().toString())
到
if ("u".equals(et1.getText().toString()))
您也可以
if (et1.getText().toString().equals("u"))
但我相信第一种方式对NPE
更安全,但如果你检查null
那么它并不重要。您当前的方式检查它们引用相同的对象。在处理.equals("string")
String
检查值是否相等
<强> Java String function 强>