一  :  效果图展示

 Android 最简单的三级联动(地区)第三方库实现

  因为用到是第三方库,要导入下面的依赖

1   compile 'liji.library.dev:citypickerview:1.1.0'

2  xml布局:

<RelativeLayout
    android:id="@+id/mDiQu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/biankuan1">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="地区"
        android:textColor="@color/heise"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/mDiQuSanJiLianDong"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_margin="10dp" />
</RelativeLayout>

3 主要的ManeActivity的代码:

public class MyXinXiActivity extends AppCompatActivity {
    @BindView(R.id.mDiQuSanJiLianDong)
    TextView mDiQuSanJiLianDong;
    @BindView(R.id.mDiQu)
    RelativeLayout mDiQu;
  
    private CityPicker mCP;

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_xin_xi);
    }
   


    @OnClick({R.id.mDiQu})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            
            case R.id.mDiQu:
                mYunCityPicher();
                mCP.show();
                break;
      
        }
    }

    public void mYunCityPicher() {
        mCP = new CityPicker.Builder(MyXinXiActivity.this)
                .textSize(20)
                //地址选择
                .title("地址选择")
                .backgroundPop(0xa0000000)
                //文字的颜色
                .titleBackgroundColor("#0CB6CA")
                .titleTextColor("#000000")
                .backgroundPop(0xa0000000)
                .confirTextColor("#000000")
                .cancelTextColor("#000000")
                .province("xx省")
                .city("xx市")
                .district("xx区")
                //滑轮文字的颜色
                .textColor(Color.parseColor("#000000"))
                //省滑轮是否循环显示
                .provinceCyclic(true)
                //市滑轮是否循环显示
                .cityCyclic(false)
                //地区(县)滑轮是否循环显示
                .districtCyclic(false)
                //滑轮显示的item个数
                .visibleItemsCount(7)
                //滑轮item间距
                .itemPadding(10)
                .onlyShowProvinceAndCity(false)
                .build();

        //监听
        mCP.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];

                mDiQuSanJiLianDong.setText(province + city + district);
            }

            @Override
            public void onCancel() {


            }
        });
    }
}

好了,代码贴完了 ,是不是很简单

相关文章: