退出onclick时遇到问题。
该程序使用共享首选项来获取输入,
如果String name = "User"
,程序将不允许用户单击此按钮,只显示警告对话框。
这是我的代码:
public void onClick(View v) {
name = shared.getString("sharedname", "User");
gender = shared.getInt("sharedgender", 0);
age = shared.getInt("sharedage", 0);
weight =shared.getInt("sharedweight", 0);
height = shared.getInt("sharedheight", 0);
if(name=="User")
{
new AlertDialog.Builder(cont)
.setMessage("Please input your information first")
.setNeutralButton("OK", null).show();
break;//error
}
//code code code, rest of the code to be cancelle
答案 0 :(得分:3)
使用equals(Object)
方法代替==
运算符
if(name.equals("User"))
{
new AlertDialog.Builder(cont)
.setMessage("Please input your information first")
.setNeutralButton("OK", null).show();
return ;
}
java.lang.Object的equals()方法与==运算符的作用相同;也就是说,它测试对象身份而不是对象相等。然而,equals()方法的隐式契约是它测试平等而不是身份。因此,在决定是返回true还是false之前,大多数类将使用在字段比较中进行字段化的版本覆盖equals()。
答案 1 :(得分:0)
不要使用break
,只需使用return;
语句。
答案 2 :(得分:0)
使用:
if(name.equalsIgnoreCase("User")){
// your code
return;
}
答案 3 :(得分:0)
AlertDialog.Builder builder = new Builder(ValueSelling.this);
AlertDialog alertDialog = builder.create();
alertDialog.setTitle(getResources().getString(R.string.termsTitle));
alertDialog.setMessage(getResources().getString(R.string.terms));
alertDialog.setCancelable(false);
alertDialog.setButton("Okay", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}});
alertDialog.setButton2("Cancel", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
}});
alertDialog.show();