Я хочу поблагодарить Raza за простой ответ и поделиться своим, это адаптация для Spinner с Listener (setOnItemSelectedListener). Это может быть полезно для проверки того, что что-то было сделано с помощью счетчика, перед сохранением, или если счетчик находится в правильном положении и т. Д .:
Сначала установите два базовых класса, Раза с радостью предоставит нам:
public static boolean myBoolean = false;
public static boolean ClassForRetruningBoolean() {
return myBoolean;
}
Во-вторых, я должен установить слушателя счетчика:
spinner.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
myBoolean = false;
}
else if (position != 0) {
myBoolean = true;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//Semicolons and parenthesis make crying faces
}
}
);
В-третьих, вы должны сделать этот класс доступным для вашего другого класса. Я делаю это с AndroidAnnotations. Также я в файле Activity.
@Bean
TheClassWhereTheBooleanIs getingTheClassForTheBoolean;
После этого он устанавливает onClickListener для Button и извлекает класс, в который было записано логическое значение:
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*Validation for empty CNC text area*/
else if (getingTheClassForTheBoolean.ClassForRetruningBoolean() == true /*you could also add another condition here && etc*/) {
Toast toast = Toast.makeText(getApplicationContext(), "Boolean is True therefore no saving", Toast.LENGTH_LONG);
toast.show();
}
/*Every validation has being pass now you can move on*/
else {
//So if the validation pass you can do the intent, the boolean is false
Intent i = new Intent(getApplicationContext(), OtherActivity.class);
startActivity(i);
}
}
});
Надеюсь, вы, ребята, найдете это полезным