1. 程式人生 > >Android 最簡單的三級聯動(地區)第三方庫實現

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() {


            }
        });
    }
}

好了,程式碼貼完了 ,是不是很簡單