ok.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mode.getText().toString()=="Default"){
Toast.makeText(getApplicationContext(), "Cannot Delete Default", Toast.LENGTH_SHORT).show();
}
//else{
/* db = openOrCreateDatabase("MY_App_Data", MODE_PRIVATE, null);
db.execSQL(DATABASE_TABLE_CREATE);
ContentValues cvInsert=new ContentValues();
cvInsert.put("mode",mode.getText().toString());
cvInsert.put("msg",msg.getText().toString());
db.insert("SSP_Data", null, cvInsert);
Toast.makeText(getApplicationContext(), "Mode Added", Toast.LENGTH_SHORT).show();
list.add(mode.getText().toString());*/
//}
}
});
嘿家伙在上面的代码我的if语句不起作用请帮助我那里iz没有语法错误然后为什么它的执行请说smthing它它
答案 0 :(得分:2)
你无法在Java中以这种方式比较String
。使用。equals()
if("Default".equals(mode.getText().toString()){
使用==
检查它们是否相同Object
但如果它们具有相同的值则不会。
此外,以这种方式将String
放在变量前面可防止NPE
。您的mode.getText().toString()
可以return null
,但您的文字String
不会。
答案 1 :(得分:0)
使用.equals
或.equalsIgnoreCase
来比较字符串
if(mode.getText().toString().equals("Default")){
答案 2 :(得分:0)
您必须使用equals来比较字符串,如下所示:
if(mode.getText().toString().equals("Default")){
Toast.makeText(getApplicationContext(), "Cannot Delete Default", Toast.LENGTH_SHORT).show();
}
答案 3 :(得分:0)
你没有说它是如何起作用的,但你几乎肯定想要这个:
if (mode.getText().toString().equals("Default"))
而不是:
if (mode.getText().toString() == "Default")
首先测试两个字符串是否具有相同的内容。第二个测试是否它们是相同的字符串。