2012-01-19 3 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 ; 
       } 

равенства() метод java.lang.Object действует так же, как == оператор; то есть он проверяет идентификацию объекта, а не равенство объекта. Однако неявный контракт метода equals() заключается в том, что он проверяет равенство, а не идентичность. Таким образом, большинство классов переопределяют equals() версией, которая делает поле путем сравнения полей, прежде чем принимать решение о возврате true или false.

+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(); 
Смежные вопросы