欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用CityPickerView框架实现三级联动

程序员文章站 2024-03-05 15:27:19
...

一,首先 在你的module.gradle中导入

dependencies {
   compile 'liji.library.dev:citypickerview:0.7.0'
}

二,上布局文件

<LinearLayout

    android:layout_marginTop="50dp"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="horizontal">



    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="地址:"

        />



    <TextView

        android:id="@+id/address"

        android:background="#ff00"

        android:textColor="#000"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" />



</LinearLayout>

三,看代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private TextView mAddress;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();

    }

    private void initView() {

        mAddress = findViewById(R.id.address);

        mAddress.setOnClickListener(this);

    }



    @Override

    public void onClick(View v) {

//        chooseArea(v);

        selectAddress();

    }


    private void selectAddress() {

        CityPicker cityPicker = new CityPicker.Builder(MainActivity.this)

                .textSize(14)

                .title("地址选择")

                .titleBackgroundColor("#FFFFFF")

//                .titleTextColor("#696969")

                .confirTextColor("#696969")

                .cancelTextColor("#696969")

                .province("北京市")

                .city("北京市")

                .district("朝阳区")

                .textColor(Color.parseColor("#000000"))

                .provinceCyclic(true)

                .cityCyclic(false)

                .districtCyclic(false)

                .visibleItemsCount(7)

                .itemPadding(15)

                .onlyShowProvinceAndCity(false)

                .build();

        cityPicker.show();

        //监听方法,获取选择结果

        cityPicker.setOnCityItemClickListener(new CityPicker.OnCityItemClickListener() {

            @Override

            public void onSelected(String... citySelected) {

                //省份

                String province = citySelected[0];

                //城市

                String city = citySelected[1];

                //区县(如果设定了两级联动,那么该项返回空)

                String district = citySelected[2];

                //邮编

                String code = citySelected[3];

                //为TextView赋值

                mAddress.setText(province.trim()+ city.trim()+ district.trim());

            }

        });

    }


}

ok
使用CityPickerView框架实现三级联动