board setup: fix checkbox of add dialog

no listener was set to the checkbox itself.
refactor-toolbar
Floens 8 years ago
parent f7a79e0c24
commit 2d291bf9f0
  1. 23
      Clover/app/src/main/java/org/floens/chan/ui/layout/BoardAddLayout.java

@ -27,6 +27,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -160,34 +161,52 @@ public class BoardAddLayout extends LinearLayout implements SearchLayout.SearchL
}
}
private class SuggestionCell extends RecyclerView.ViewHolder implements OnClickListener {
private class SuggestionCell extends RecyclerView.ViewHolder implements OnClickListener, CompoundButton.OnCheckedChangeListener {
private TextView text;
private TextView description;
private CheckBox check;
private BoardSetupPresenter.BoardSuggestion suggestion;
private boolean ignoreCheckChange = false;
public SuggestionCell(View itemView) {
super(itemView);
text = itemView.findViewById(R.id.text);
description = itemView.findViewById(R.id.description);
check = itemView.findViewById(R.id.check);
check.setOnCheckedChangeListener(this);
itemView.setOnClickListener(this);
}
public void setSuggestion(BoardSetupPresenter.BoardSuggestion suggestion) {
this.suggestion = suggestion;
ignoreCheckChange = true;
check.setChecked(suggestion.isChecked());
ignoreCheckChange = false;
}
@Override
public void onClick(View v) {
if (v == itemView) {
toggle();
}
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!ignoreCheckChange && buttonView == check) {
toggle();
}
}
private void toggle() {
onSuggestionClicked(suggestion);
ignoreCheckChange = true;
check.setChecked(suggestion.isChecked());
}
ignoreCheckChange = false;
}
}
}

Loading…
Cancel
Save