2016-05-09 5 views
-2

Я хотел бы получить свою кнопку (bConnect), чтобы проверить состояние моего лицензионного и авторизованного флажка.У вас есть кнопка Проверить состояние CheckBoxes

Позволяет мне использовать оператор If/Else для открытия нового действия, если флажки действительно отмечены, в противном случае открыть диалоговое окно предупреждения и сообщить пользователю, что они не авторизованы, если эти флажки не установлены.

public class ConnectAPRS extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_connect_aprs); 

     final EditText callsign = (EditText) findViewById(R.id.callsign); 
     final EditText passcode = (EditText) findViewById(R.id.passcode); 
     final CheckBox licensed = (CheckBox) findViewById(R.id.licensed); 
     final CheckBox authorized = (CheckBox) findViewById(R.id.authorized); 

     final Button bConnect = (Button)  findViewById(R.id.bConnect); 

     bConnect.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(ConnectAPRS.this, Contacts.class)); 
      } 
     }); 
    } 
} 
+1

если (checkbox.isChecked()) {// Открыть активность} еще {// Показать ошибки} –

+0

где ваш флажок? –

+0

Кажется, что не используется CheckBox.isChecked, выдает ошибку, с которой я не могу ссылаться, потому что это ссылка из статического контекста. –

ответ

1
public class ConnectAPRS extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_connect_aprs); 

     final EditText callsign = (EditText) findViewById(R.id.callsign); 
     final EditText passcode = (EditText) findViewById(R.id.passcode); 
     final CheckBox licensed = (CheckBox) findViewById(R.id.licensed); 

     final Button bConnect = (Button)  findViewById(R.id.bConnect); 

     bConnect.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (licensed.isChecked()) 
        startActivity(new Intent(ConnectAPRS.this, Contacts.class)); 
       else 
        new AlertDialog.Builder(ConnectAPRS.this) 
          .setTitle("ERROR") 
          .setMessage("You are not a licensed operator") 
          .show(); 
      } 
     }); 
    } 
} 
0

Попробуйте

bConnect.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
      if (licensed.isChecked() && authorized.isChecked()){} 

       startActivity(new Intent(ConnectAPRS.this, Contacts.class)); 
      }else{ 

       AlertDialog.Builder builder = new AlertDialog.Builder(context); 
       builder.setTitle("ERROR"); 
       builder.setMessage("You are not a licensed operator"); 
       builder.setCancelable(true); 

       builder.setNeutralButton(
        "OK", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.cancel(); 
         } 
        }); 

       AlertDialog alert11 = builder1.create(); 
       alert11.show(); 
      } 
      } 
     }); 
    } 
} 
Смежные вопросы