Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 1.81 KB

ReadMe.md

File metadata and controls

58 lines (45 loc) · 1.81 KB

#Selector

简单说明

项目是根据JDAddressSelector修改而来的。

  • 支持多级自定义选择
  • 去掉原项目依赖的dbflow、gson
  • 去掉原项目仅支持地址一类选择,把选择类型放开(原项目写死了只能选择地址)。

效果

使用

使用原始视图

		//deep 就是自定义的深度
        Selector selector = new Selector(this, deep);

        selector.setDataProvider(new DataProvider() {
            @Override
            public void provideData(int currentDeep, int preId, DataReceiver receiver) {
                //根据tab的深度和前一项选择的id,获取下一级菜单项
                Log.i(TAG, "provideData: currentDeep >>> "+currentDeep+" preId >>> "+preId);
                receiver.send(getDatas());
            }
        });
        selector.setSelectedListener(new SelectedListener() {
            @Override
            public void onAddressSelected(ArrayList<ISelectAble> selectAbles) {
                String result = "";
                for (ISelectAble selectAble : selectAbles) {
                    result += selectAble.getName()+" ";
                }
                Toast.makeText(MainActivity.this,result,Toast.LENGTH_SHORT).show();
            }
        });
        
        
//  	View view = selector.getView();
// 		frameLayout.addView(view)
// 		new AlertDialog.Builder(context).setView(view).show()
// 		...

BottomDialog

        BottomDialog dialog = new BottomDialog(this);
        dialog.init(this,selector); //selector 按照上面的方法初始化
        dialog.show();

许可证

edit from JDAddressSelector
MIT License