Android開發之實現省市區三級聯動
阿新 • • 發佈:2019-01-09
最近專案要做省市區三級聯動效果,今天我來實現一下。先看效果圖:
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();
}
}
好了,到此結束。如果你的專案中,正好有這麼個需求功能,儘管拿去,不用謝!