При нажатии кнопки я немедленно называю setEnabled
ложным, однако это не отключает кнопку, и мне приходится нажимать снова, чтобы отключить.
Я пытался поставить setEnabled
в разных местах, но с одинаковым результатом.
chooseLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
chooseLeft.setEnabled(false);
chooseRight.setEnabled(true);
docRefPosts.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
if(!chooseRight.isEnabled())
docRefPosts.update("votesForRight", FieldValue.increment(-1));
docRefPosts.update("votesForLeft", FieldValue.increment(1));
}
}
});
}
});
chooseRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
chooseRight.setEnabled(false);
docRefPosts.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
if(!chooseLeft.isEnabled())
docRefPosts.update("votesForLeft", FieldValue.increment(-1));
docRefPosts.update("votesForRight", FieldValue.increment(1));
}
}
});
chooseLeft.setEnabled(true);
}
});
Он должен функционировать в качестве переключателя, когда один раз может быть выбран только один.