2012-01-19 71 views
0

退出onclick時出現問題。如何退出循環或onClick(android)?

該程序使用共享首選項來獲得輸入, ,如果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

爲什麼你不只是使用'return'? – Viruzzo

回答

3

使用equals(Object)方法而不是操作者==

if(name.equals("User")) 
       { 
        new AlertDialog.Builder(cont) 
        .setMessage("Please input your information first") 
        .setNeutralButton("OK", null).show(); 
        return ; 
       } 

的equals()方法的java.lang.Object中方法作用於相同==操作;也就是說,它測試的是對象身份而不是對象相等。然而,equals()方法的隱式約定是它測試的是平等而不是身份。因此,大多數類將在決定是否返回true或false之前使用一個字段逐個比較的版本來覆蓋equals()。

+0

謝謝,它工作:)) –

0

而不是使用break的,簡單地用一個return;聲明。

0

使用:

if(name.equalsIgnoreCase("User")){ 
// your code 
    return; 
} 
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();