频道栏目
首页 > 资讯 > Android > 正文

Android开发基于Popupwindow实现的筛选房源信息等相关的可自由排序控件

18-07-21        来源:[db:作者]  
收藏   我要投稿

先上图

功能 区分
支持区域二级选择 FilterTabConfig.FILTER_TYPE_AREA
支持单行选择 FilterTabConfig.FILTER_TYPE_SINGLE_SELECT
支持带EditText的单行选择 FilterTabConfig.FILTER_TYPE_PRICE
支持多类型选择 FilterTabConfig.FILTER_TYPE_MUL_SELECT

目前只支持以上4种类型的Popupwindow样式,可以自由组合

如何使用

Gradle

compile 'com.samlu:filtertab:1.0.0'

Maven


  com.samlu
  filtertab
  1.0.0
  pom

XML

Java

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地址

相关TAG标签
上一篇:ubuntu虚拟机联网操作教程
下一篇:public class Cipher 详细代码解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站