導航:首頁 > 操作系統 > android省市二級聯動

android省市二級聯動

發布時間:2024-12-06 18:33:23

① 如何使用Spinner實現省市的二級聯動功能

1.確定我需要的數據放到res/values/arrays.xml文件(定義數組)

<?xml version="1.0"
encoding="utf-8"?>
<resources>
<string-array
name="province">
<item>-省份-</item>

<item>河北省</item>
<item>山西省</item>

<item>北京市</item>
</string-array>

<string-array name="hb">
<item>-城市-</item>

<item>承德市</item>
<item>邯鄲市</item>

<item>廊坊市</item>
</string-array>

<string-array name="bj">
<item>-城市-</item>

<item>海淀區</item>
<item>朝陽區</item>

<item>崇文區</item>
</string-array>

<string-array name="shx">
<item>-城市-</item>

<item>大同市</item>
<item>臨汾市</item>

</string-array>
</resources>

2.編寫xml界面res/values/main.xml文件(編寫界面)

<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"
android:layout_width="fill_parent"

android:layout_height="fill_parent"
>
<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"
android:id="@+id/textView"

/>
<RelativeLayout
android:layout_width="fill_parent"

android:layout_height="wrap_content"
>

<Spinner
android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:id="@+id/province"

/>
<Spinner
android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/province"
android:id="@+id/city"

/>
</RelativeLayout>
</LinearLayout>

3.在Activity中實現省市聯動功能

/**
* 通過Spinner實現省市(兩級)聯動
* @author
黑色天空
*/
public class MainActivity extends Activity {
private
TextView textView ;
private Spinner province;
private Spinner city;

/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//String[] provinces =
new String[]{"-省份-","河北省","山西省","北京"};
textView =
(TextView)this.findViewById(R.id.textView);
province =
(Spinner)this.findViewById(R.id.province);
city =
(Spinner)this.findViewById(R.id.city);

//(處理省的顯示)

//將可選內容與ArrayAdapter的連接(從資源數組文件中獲取數據)

ArrayAdapter<CharSequence> adapter =

ArrayAdapter.createFromResource(this, R.array.province,
android.R.layout.simple_spinner_item);
//new
ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
provinces);
//設置下拉列表的風格

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//將數據綁定到Spinner視圖上

province.setAdapter(adapter);

//添加條目被選中監聽器

province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override
public void
onItemSelected(AdapterView<?> parent, View view,int position, long id) {

//parent既是province對象
Spinner spinner = (Spinner)parent;

String pro = (String)spinner.getItemAtPosition(position);

//(處理省的市的顯示)
//將默認值與ArrayAdapter連接(從資源數組文件中獲取數據)

ArrayAdapter<CharSequence> cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.citydefault,
android.R.layout.simple_spinner_item);

//new ArrayAdapter<CharSequence>
//
(MainActivity.this,android.R.layout.simple_spinner_item, cities);

//獲取所在省含有哪些市(從資源數組文件中獲取數據)
if(pro.equals("河北省")){

cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.hb, android.R.layout.simple_spinner_item);

}else if(pro.equals("北京市")){

cityAdapter =
ArrayAdapter.createFromResource
(MainActivity.this,
R.array.bj, android.R.layout.simple_spinner_item);
}else
if(pro.equals("山西省")){

cityAdapter =
ArrayAdapter.createFromResource
(MainActivity.this,
R.array.shx, android.R.layout.simple_spinner_item);
}

//綁定數據到Spinner(City)上
city.setAdapter(cityAdapter);
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}

});
}
}

② android如何動態更新二級聯動spinner

spinner有一個setSelection(),將spinner設為全局變數後用spinner.setSelection(GestureConstant.FILE_GESTURE, false);就可以了。
貼一部分代碼,不完整。
Activity
[java] view plain
Intent fileIntent = new Intent(FileManager.this,
CreateGestureActivity.class);
fileIntent.putExtra("file", "file");
startActivity(fileIntent);

閱讀全文

與android省市二級聯動相關的資料

熱點內容
樸素的app應用怎麼推廣 瀏覽:584
怎麼查校園卡app專屬流量 瀏覽:437
少兒編程教育培訓視頻 瀏覽:562
華為平板如何裝兩個一樣的app 瀏覽:728
程序員與劫匪 瀏覽:623
協同演化演算法及其在數據挖掘中的應用 瀏覽:225
單片機可控硅開關電路 瀏覽:121
文件夾合並會變大 瀏覽:231
手游mc伺服器怎麼設置管理員 瀏覽:200
pso演算法優化參數 瀏覽:606
java打開pdf文件怎麼打開 瀏覽:369
用銀行家演算法拒絕死鎖的例題 瀏覽:670
洗盤選股指標源碼 瀏覽:705
百度雲盤下載的壓縮包怎麼解壓 瀏覽:737
加密類型是TKIP被我弄掉了 瀏覽:234
貝刻智能手環app如何下載 瀏覽:838
公司電腦上的加密文件解密 瀏覽:462
伺服器怎麼配置資料庫 瀏覽:889
壓縮機和製冷劑 瀏覽:182
樹莓派手機版編程 瀏覽:926