Как получить статус Android Switch из другого класса?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить статус Android Switch из другого класса?

Сообщение Anonymous »

Я работаю с RecyclerView, у которого есть переключатель, который позволяет пользователю организовывать список от А до Я, когда переключатель включен, и от Я до А, когда он выключен. Для реализации метода OnClick мне нужно узнать положение каждого элемента, но элемент может находиться в двух разных положениях (в зависимости от сортировки, выбранной пользователем), поэтому, чтобы узнать, где находится элемент, мне нужно знать статус переключателя из класса, реализующего OnClick. метод.
Это моя реализация сортировки Switch:

Код: Выделить всё

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

if(isChecked){
switchStatus.setText("Sorting alphabetically");

Collections.sort(categories, new Comparator() {
@Override
public int compare(Categories lhs, Categories rhs) {
return lhs.title.compareTo(rhs.title);
}
});

ca.notifyDataSetChanged();

}else{
switchStatus.setText("Sorting by popularity");

Collections.sort(categories, new Comparator() {
@Override
public int compare(Categories rhs, Categories lhs) {
return lhs.title.compareTo(rhs.title);
}
});

ca.notifyDataSetChanged();
}

}
});

//check the current state before we display the screen
if(categoriesSortingSwitch.isChecked()){
switchStatus.setText("Sorting alphabetically");

Collections.sort(categories, new Comparator() {
@Override
public int compare(Categories lhs, Categories rhs) {
return lhs.title.compareTo(rhs.title);
}
});

}
else {
switchStatus.setText("Sorting by popularity");

Collections.sort(categories, new Comparator() {
@Override
public int compare(Categories rhs, Categories lhs) {
return lhs.title.compareTo(rhs.title);
}
});

}

}

//I CREATED THIS METHOD THINKING IN USING IT IN THE OTHER CLASS TO GET THE STATUS
public boolean getSwitchstatus(){

if(categoriesSortingSwitch.isChecked()){

return true;
}
else return false;
}
А это метод другого класса, где мне нужно получить статус:

Код: Выделить всё

@Override
public void onClick(View v) {
final Intent intent;

int position = getAdapterPosition();
if (position==0){

if(/** find a way to see if it is on or off and if it is on do this**/){

intent =  new Intent(context, nose.class);
context.startActivity(intent);
}
else/** if it is off**/{

}

}
}
В резюме мне нужно найти способ получить статус переключателя, чтобы я мог определить положение элемента.
Большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/324 ... ther-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»