MCPcopy Index your code
hub / github.com/chihane/JDAddressSelector

github.com/chihane/JDAddressSelector @1.1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.1.4 ↗ · + Follow
91 symbols 193 edges 13 files 0 documented · 0% updated 4y ago1.1.4 · 2016-12-12★ 6006 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JDAddressSelector

一个 Android 版京东手机客户端(当前版本V5.0.1 build 28529)风格的级联地址选择器。

image

添加依赖

项目的 build.gradle 中:

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io"}
    }
}

模块的 build.gradle 中:

dependencies {
    ...
    compile 'com.github.chihane:JDAddressSelector:1.1.4'
}

使用方法

使用原始视图

AddressSelector selector = new AddressSelector(context);
selector.setOnAddressSelectedListener(new AddressSelector.OnAddressSelectedListener() {
    @Override
    public void onAddressSelected(Province province, City city, County county, Street street) {
        // blahblahblah
    }
});

View view = selector.getView();
// frameLayout.addView(view)
// new AlertDialog.Builder(context).setView(view).show()
// ...

BottomDialog

BottomDialog dialog = new BottomDialog(context);
dialog.setOnAddressSelectedListener(listener);
dialog.show();

使用自定义数据源

selector.setAddressProvider(new AddressProvider() {
    @Override
    public void provideProvinces(AddressReceiver<Province> addressReceiver) {
        List<Province> provinces = // blahblahblah 
        addressReceiver.send(provinces);    
    }

    @Override
    public void provideCitiesWith(int provinceId, AddressReceiver<City> addressReceiver) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                List<City> cities = // blahblahblah
                addressReceiver.send(cities);
            }
        }).start();
    }

    @Override
    public void provideCountiesWith(int cityId, AddressReceiver<County> addressReceiver) {
        addressApi.counties(cityId)
                .subscribeOn(Schedulers.io())
                .subscribe(new Action1<List<County>>() {
                    @Override
                    public void call(List<County> counties) {
                        addressReceiver.send(counties);
                    }
                }, new Action1<Throwable>() {
                    @Override
                    public void call(Throwable throwable) {
                        addressReceiver.send(null);
                    }
                });
    }

    @Override
    public void provideStreetsWith(int countyId, AddressReceiver<Street> addressReceiver) {
        // blahblahblah 
    }
});

关于我

Chihane Habana

许可证

MIT License

Extension points exported contracts — how you extend this code

AddressProvider (Interface)
(no doc) [4 implementers]
library/src/main/java/chihane/jdaddressselector/AddressProvider.java
OnAddressSelectedListener (Interface)
(no doc) [2 implementers]
library/src/main/java/chihane/jdaddressselector/OnAddressSelectedListener.java

Core symbols most depended-on inside this repo

send
called by 8
library/src/main/java/chihane/jdaddressselector/AddressProvider.java
updateIndicator
called by 7
library/src/main/java/chihane/jdaddressselector/AddressSelector.java
updateTabsVisibility
called by 6
library/src/main/java/chihane/jdaddressselector/AddressSelector.java
getItem
called by 6
library/src/main/java/chihane/jdaddressselector/AddressSelector.java
buildIndicatorAnimatorTowards
called by 4
library/src/main/java/chihane/jdaddressselector/AddressSelector.java
callbackInternal
called by 4
library/src/main/java/chihane/jdaddressselector/AddressSelector.java
init
called by 4
library/src/main/java/chihane/jdaddressselector/BottomDialog.java
getView
called by 2
library/src/main/java/chihane/jdaddressselector/AddressSelector.java

Shape

Method 65
Class 23
Interface 3

Languages

Java100%

Modules by API surface

library/src/main/java/chihane/jdaddressselector/AddressSelector.java54 symbols
library/src/main/java/chihane/jdaddressselector/AddressProvider.java7 symbols
library/src/main/java/chihane/jdaddressselector/DefaultAddressProvider.java6 symbols
library/src/main/java/chihane/jdaddressselector/BottomDialog.java5 symbols
app/src/main/java/chihane/jdaddressselector/demo/TestAddressProvider.java5 symbols
app/src/main/java/chihane/jdaddressselector/demo/MainActivity.java4 symbols
library/src/main/java/chihane/jdaddressselector/widget/UninterceptableListView.java3 symbols
library/src/main/java/chihane/jdaddressselector/OnAddressSelectedListener.java2 symbols
library/src/main/java/chihane/jdaddressselector/model/Street.java1 symbols
library/src/main/java/chihane/jdaddressselector/model/Province.java1 symbols
library/src/main/java/chihane/jdaddressselector/model/County.java1 symbols
library/src/main/java/chihane/jdaddressselector/model/City.java1 symbols

For agents

$ claude mcp add JDAddressSelector \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page