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.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; 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 text;
private TextView description; private TextView description;
private CheckBox check; private CheckBox check;
private BoardSetupPresenter.BoardSuggestion suggestion; private BoardSetupPresenter.BoardSuggestion suggestion;
private boolean ignoreCheckChange = false;
public SuggestionCell(View itemView) { public SuggestionCell(View itemView) {
super(itemView); super(itemView);
text = itemView.findViewById(R.id.text); text = itemView.findViewById(R.id.text);
description = itemView.findViewById(R.id.description); description = itemView.findViewById(R.id.description);
check = itemView.findViewById(R.id.check); check = itemView.findViewById(R.id.check);
check.setOnCheckedChangeListener(this);
itemView.setOnClickListener(this); itemView.setOnClickListener(this);
} }
public void setSuggestion(BoardSetupPresenter.BoardSuggestion suggestion) { public void setSuggestion(BoardSetupPresenter.BoardSuggestion suggestion) {
this.suggestion = suggestion; this.suggestion = suggestion;
ignoreCheckChange = true;
check.setChecked(suggestion.isChecked()); check.setChecked(suggestion.isChecked());
ignoreCheckChange = false;
} }
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (v == itemView) { if (v == itemView) {
toggle();
}
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!ignoreCheckChange && buttonView == check) {
toggle();
}
}
private void toggle() {
onSuggestionClicked(suggestion); onSuggestionClicked(suggestion);
ignoreCheckChange = true;
check.setChecked(suggestion.isChecked()); check.setChecked(suggestion.isChecked());
} ignoreCheckChange = false;
} }
} }
} }

Loading…
Cancel
Save