我在程序中设置了两个 checkboxes 和两个 EditText。点击一个 CheckBox 时 EditText 消失,然后显示Toast ,"Your Information is Saved",如何再次点击 CheckBox时,另一个Toast 会显示"Enter Your Email Address"。两个toast在每次点击后都可以正常运行。这是什么原因?
on.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (((CheckBox) v).isChecked())
receiverEmail.setVisibility(View.GONE);
if (((CheckBox) v).isChecked())
Toast.makeText(getApplicationContext(),
"Your Information is Saved", Toast.LENGTH_LONG).show();
else
receiverEmail.setVisibility(View.VISIBLE);
Toast.makeText(getApplicationContext(),
"Enter Your Email Address", Toast.LENGTH_LONG).show();
}
});
on2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (((CheckBox) v).isChecked())
clientID.setVisibility(View.GONE);
if (((CheckBox) v).isChecked())
Toast.makeText(getApplicationContext(),
"Your Information is Saved", Toast.LENGTH_LONG).show();
else
clientID.setVisibility(View.VISIBLE);
Toast.makeText(getApplicationContext(),
"Enter Your Email Address", Toast.LENGTH_LONG).show();
}
});
if (((CheckBox) v).isChecked()){
Toast.makeText(getApplicationContext(),
"Your Information is Saved", Toast.LENGTH_LONG).show();
}
else{
receiverEmail.setVisibility(View.VISIBLE);
Toast.makeText(getApplicationContext(),
"Enter Your Email Address", Toast.LENGTH_LONG).show();
}
if else 如果省略{}的话只会执行临近的一行代码,第二行是不会执行的,你的问题应该是因为else后执行一行代码receiverEmail.setVisibility(View.VISIBLE);,导致Toast.makeText(getApplicationContext(),
"Enter Your Email Address", Toast.LENGTH_LONG).show();无论如何都会执行的
楼主看下是不是因为这个。。。
if{} else{} 之间的大括号呢?
java基础问题 最好写代码的时候不要省略括号 一行也不要省略 这样能增加代码的可读性