android中CityPicker的使用步驟


第一步:添加依賴

在module中的build.gradle文件中添加依賴

dependencies {
    implementation 'com.github.crazyandcoder:citypicker:6.0.2'
} 

第二步:將 JitPack 存儲庫添加到構建文件

在project中的settings.gradle文件中添加JitPack

dependencyResolutionManagement {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

第三步:設置主題樣式

將AndroidManifest.xml文件里的application標簽中的android:theme樣式設置為@style/AppTheme

android:theme="@style/AppTheme"

第四步:設置組件樣式

在layout文件下創建activity_register.xml文件

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp">
        <ImageView
                android:id="@+id/icon51"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:src="@drawable/ditu"
                android:layout_marginStart="40dp"/>
    
        <TextView
                android:id="@+id/text1"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginStart="15dp"
                android:layout_marginEnd="25dp"
                android:text="請選擇地址"
                android:background="#ECEBEC"
                android:gravity="center"/>
 </LinearLayout>

 第五步:添加預加載器

在自定義類或Activity中創建init方法,並將該方法在重寫方法onCreate中調用

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        init();
}
//初始化
    public void init(){
        //城市選擇器,預加載器
        CityListLoader.getInstance().loadProData(this);

        //城市選擇器的按鈕監聽事件
        TextView spinner1 = (TextView) findViewById(R.id.spinner1);
        spinner1.setOnClickListener(v -> {
            Intent intent1 = new Intent(this, ProvinceActivity.class);
            startActivityForResult(intent1, ProvinceActivity.RESULT_DATA);
        });
    }

第六步:獲取選擇數據

 //城市選擇器的回調方法
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == ProvinceActivity.RESULT_DATA) {
            if (resultCode == RESULT_OK) {
                if (data == null) {
                    return;
                }
                //省份結果
                CityBean province = data.getParcelableExtra("province");
                //城市結果
                CityBean city = data.getParcelableExtra("city");
                //區域結果
                CityBean area = data.getParcelableExtra("area");

                //顯示/
                String cityString = province.getName()+city.getName()+area.getName();
                Toast.makeText(this, cityString, Toast.LENGTH_SHORT).show();
            }
        }
    }

 

 

來源:GitHub - crazyandcoder/citypicker: citypicker城市選擇器,詳細的省市區地址信息,支持仿iOS滾輪實現,仿京東樣式,一級或者三級列表展示方式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM