new SecondaryDrawerItem().withName(R.string.drawer_item_contact).withIcon(GoogleMaterial.Icon.gmd_format_color_fill).withTag("Bullhorn"), new DividerDrawerItem(), new SwitchDrawerItem().withName("Switch").withIcon(Octicons.Icon.oct_tools).withChecked(true).withOnCheckedChangeListener(onCheckedChangeListener), new ToggleDrawerItem().withName("Toggle").withIcon(Octicons.Icon.oct_tools).withChecked(true).withOnCheckedChangeListener(onCheckedChangeListener)
private void setUpSwitches() { darkSwitch = new SwitchDrawerItem() .withName(R.string.dark_col) .withLevel(2).withIdentifier(ID_DARK_THEME) .withOnCheckedChangeListener(this) .withChecked(mDarkTheme) .withSelectable(false); doneSwitch = new SwitchDrawerItem() .withName(R.string.show_done_msg) .withLevel(2).withIdentifier(ID_TOGGLE_DONE) .withOnCheckedChangeListener(this) .withSelectable(false); if (mTinyDB.getBoolean(getString(R.string.show_done_pref))) doneSwitch.withChecked(true); else toggleDoneTab(); bigTextSwitch = new SwitchDrawerItem() .withName(R.string.big_text_msg) .withLevel(2).withIdentifier(ID_TOGGLE_BIG_TEXT) .withOnCheckedChangeListener(this) .withSelectable(false); if (mTinyDB.getBoolean(getString(R.string.big_text_pref), false)) { bigTextSwitch.withChecked(true); HorizontalAdapter.setBigText(true); } }
@Override public void bindView(RecyclerView.ViewHolder holder) { //get our viewHolder final ViewHolder viewHolder = (ViewHolder) holder; //bind the basic view parts bindViewHelper((BaseViewHolder) holder); //handle the switch viewHolder.switchView.setOnCheckedChangeListener(null); viewHolder.switchView.setChecked(checked); viewHolder.switchView.setOnCheckedChangeListener(checkedChangeListener); viewHolder.switchView.setEnabled(switchEnabled); //add a onDrawerItemClickListener here to be able to check / uncheck if the drawerItem can't be selected withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { @Override public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { if (!isSelectable()) { checked = !checked; viewHolder.switchView.setChecked(checked); } return false; } }); //call the onPostBindView method to trigger post bind view actions (like the listener to modify the item if required) onPostBindView(this, holder.itemView); }
public SwitchDrawerItem withCheckable(boolean checkable) { return withSelectable(checkable); }
@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isEnabled()) { checked = isChecked; if (getOnCheckedChangeListener() != null) { getOnCheckedChangeListener().onCheckedChanged(SwitchDrawerItem.this, buttonView, isChecked); } } else { buttonView.setOnCheckedChangeListener(null); buttonView.setChecked(!isChecked); buttonView.setOnCheckedChangeListener(checkedChangeListener); } } };
@Override public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { if (!isSelectable()) { checked = !checked; viewHolder.switchView.setChecked(checked); } return false; } });
new SecondaryDrawerItem().withName(R.string.drawer_item_contact).withIcon(GoogleMaterial.Icon.gmd_format_color_fill).withTag("Bullhorn"), new DividerDrawerItem(), new SwitchDrawerItem().withName("Switch").withIcon(Octicons.Icon.oct_tools).withChecked(true).withOnCheckedChangeListener(onCheckedChangeListener), new ToggleDrawerItem().withName("Toggle").withIcon(Octicons.Icon.oct_tools).withChecked(true).withOnCheckedChangeListener(onCheckedChangeListener)