1. 程式人生 > >Android開發之實現省市區三級聯動

Android開發之實現省市區三級聯動

最近專案要做省市區三級聯動效果,今天我來實現一下。先看效果圖:
這裡寫圖片描述
1, 在project的build.gradle新增如下程式碼:

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

2,在app/build.gradle檔案中新增如下程式碼:

compile 'com.github.open-android:CityPickerWebView:0.1.0'

3,簡單的佈局檔案:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.classical.example_citypicker.MainActivity"
>
<TextView android:id="@+id/tv_show" android:text="請選擇您所在的省市區" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/btn_selector" android:layout_width="match_parent" android:layout_height
="wrap_content" android:text="請選擇"/>
</LinearLayout>

4.在程式碼中使用:

package com.classical.example_citypicker;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import me.leefeng.citypicker.CityPicker;
import me.leefeng.citypicker.CityPickerListener;

public class MainActivity extends AppCompatActivity implements CityPickerListener {
    private TextView mShow;
    private Button mSelector;
    private CityPicker cityPicker;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cityPicker = new CityPicker(MainActivity.this,this);

        mSelector = (Button)findViewById(R.id.btn_selector);
        mShow = (TextView)findViewById(R.id.tv_show);

        mSelector.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                cityPicker.show();
            }
        });
    }

    @Override
    public void getCity(String s) {
        mShow.setText(s);
    }

    @Override
    public void onBackPressed() {
        if (cityPicker.isShow()) {
            cityPicker.close();
            return;
        }
        super.onBackPressed();
    }
}

好了,到此結束。如果你的專案中,正好有這麼個需求功能,儘管拿去,不用謝!