功能 | 区分 |
---|---|
支持区域二级选择 | FilterTabConfig.FILTER_TYPE_AREA |
支持单行选择 | FilterTabConfig.FILTER_TYPE_SINGLE_SELECT |
支持带EditText的单行选择 | FilterTabConfig.FILTER_TYPE_PRICE |
支持多类型选择 | FilterTabConfig.FILTER_TYPE_MUL_SELECT |
目前只支持以上4种类型的Popupwindow样式,可以自由组合
compile 'com.samlu:filtertab:1.0.0'
com.samlu filtertab 1.0.0 pom
FilterInfoBean bean1 = new FilterInfoBean("区域", FilterTabConfig.FILTER_TYPE_AREA, filterEntity.getArea()); FilterInfoBean bean2 = new FilterInfoBean("总价", FilterTabConfig.FILTER_TYPE_PRICE, filterEntity.getPrice()); FilterInfoBean bean3 = new FilterInfoBean("户型", FilterTabConfig.FILTER_TYPE_SINGLE_SELECT, filterEntity.getHouseType()); FilterInfoBean bean4 = new FilterInfoBean("筛选", FilterTabConfig.FILTER_TYPE_MUL_SELECT, filterEntity.getMulSelect()); ftb_filter.addFilterItem(bean1.getTabName(), bean1.getFilterData(), bean1.getPopupType(), 0); ftb_filter.addFilterItem(bean2.getTabName(), bean2.getFilterData(), bean2.getPopupType(), 1); ftb_filter.addFilterItem(bean3.getTabName(), bean3.getFilterData(), bean3.getPopupType(), 2); ftb_filter.addFilterItem(bean4.getTabName(), bean4.getFilterData(), bean4.getPopupType(), 3);javabean 要继承 BaseFilterBean,重写里面的方法
public class FilterAreaEntity extends BaseFilterBean { .... }
需要用到的Activity或者fragment里面实现OnSelectResultListener这个接口
ftb_filter.setOnSelectResultListener(new OnSelectResultListener() { @Override public void onSelectResult(FilterResultBean resultBean) { // 接受点击的返回值 } });
控件调用之前最好初始化一下,避免加载失败重新加载数据是出现重复的问题。
ftb_filter.removeViews();OnSelectFilterNameListener 实现这个接口可以拿到选择后对应的Tab名称
ftb_filter.setOnSelectFilterNameListener(new OnSelectFilterNameListener() { @Override public void onSelectFilterName(String name, int popupindex) { // name:tab名称 popupindex:对应的popup的位置 } });
OnPopupDismissListener Popupwindow消失监听
Github地址