我在这里有一段代码,理论上应该可行,但实际上并没有。
Extras = getIntent().getExtras();
if(Extras!=null)
if(Extras.getString("startup")!=null)
StartUp = Extras.getString("startup");
else
StartUp = "0";
prefs = this.getSharedPreferences("runonstartup", 0);
start.setChecked(prefs.getBoolean("yesorno", false));
Toast.makeText(getApplicationContext(), "Start-up: "+StartUp+"\nChecked: "+String.valueOf(start.isChecked()), Toast.LENGTH_LONG).show();
if(StartUp=="1"&&start.isChecked())
{
new PostTask3().execute("testing");
}
吐司那里显示:启动:1和Checked:true。然而,“if”未能将表达式评估为true并运行PostTask3。
帮助......?
答案 0 :(得分:0)
比较Strings
使用.equals()
。
所以改变
if(StartUp=="1"&&start.isChecked())
到
if(StartUp.equals("1") && start.isChecked())
有关详细信息,请参阅How do I compare strings in Java?