日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(Spinner) android中Spinner的使用

發布時間:2024/1/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (Spinner) android中Spinner的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(Spinner) android中Spinner的使用

Spinner這個組件配置之后需要進行內容的設置,而內容可以使用配置文件完成,也可以通過ArrayAdapter類進行封裝操作完成

單機選項public void?( l)

選項改變 public void?( l)

長按事件 public void?( l)

主要使用到事件就在于事件的變更

下面是城市的選擇列表

1.在values文件夾中創建一個city_data.xml

<?xml version="1.0" encoding="utf-8"?> <resources><string-array name="city_labels"><item>中國-上海</item><item>中國-北京</item><item>中國-廣州</item><item>中國-海南</item></string-array></resources>

?

2.在String.xml文件中定義String屬性

<?xml version="1.0" encoding="utf-8"?> <resources><string name="hello">Hello World, MainActivity!</string><string name="app_name">Spinner3</string><string name="city_app">下拉列表框選項</string><string name="city_prompt">選擇你喜歡的城市</string> </resources>

?

3.在layout的Main.xml配置文件中 添加相應的控件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><!-- 接收下拉列表的選項 --><TextViewandroid:id="@+id/info"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/city_prompt" /><!-- android:text="@string/city_prompt" 提示信息 --><!-- android:entries="@array/city_labels"下拉列表的內容 --><Spinnerandroid:id="@+id/city"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/city_labels"android:text="@string/city_prompt" /></LinearLayout>

?

4.在Activity中完成相應事件處理的操作

package com.qn.spinner;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.Button; import android.widget.Spinner; import android.widget.TextView;public class MainActivity extends Activity {/** Called when the activity is first created. */private Spinner city;// 下拉列表框的內容private TextView info;// 事件發生后取得下拉列表框的內容@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);city = (Spinner) findViewById(R.id.city);// 取得下拉列表框info = (TextView) findViewById(R.id.info);// 取得文本顯示控件city.setOnItemSelectedListener(new OnItemSelectedListenerImpl());}private class OnItemSelectedListenerImpl implements OnItemSelectedListener {public void onItemSelected(AdapterView<?> parent, View view,int position, long id) {// 選項改變的時候觸發String value = (String) parent.getItemAtPosition(position);// 得到選中的選項info.setText("你喜歡的城市" + value);// 選項的內容在TextView中顯示}public void onNothingSelected(AdapterView<?> arg0) {// 沒有選項的時候觸發// 一般不關心}} }

?

結果




下面是級聯菜單

1.在values文件夾中創建一個city_data.xml

<?xml version="1.0" encoding="utf-8"?> <resources><string-array name="city_labels"><item>中國-上海</item><item>中國-北京</item><item>中國-廣州</item><item>中國-海南</item></string-array></resources>

2.在String.xml文件中定義String屬性

<?xml version="1.0" encoding="utf-8"?> <resources><string name="hello">Hello World, MainActivity!</string><string name="app_name">Spinner3</string><string name="city_app">下拉列表框選項</string><string name="city_prompt">選擇你喜歡的城市</string><string name="area_prompt">選擇你喜歡的城區</string> </resources>

3.在layout的Main.xml配置文件中 添加相應的控件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal" ><!-- android:text="@string/city_prompt" 提示信息 --><!-- android:entries="@array/city_labels"下拉列表的內容 --><!-- 一級欄目 --><Spinnerandroid:id="@+id/city"android:layout_width="wrap_content"android:layout_height="wrap_content"android:entries="@array/city_labels"android:text="@string/city_prompt" /><!-- 二級欄目 --><Spinnerandroid:id="@+id/area"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/area_prompt"/></LinearLayout>

?4.在Activity中完成相應事件處理的操作

二級欄目中定義了數組進行填入數據,

用數組填入數據必須,用ArrayAdapter

所以要準備ArrayAdapter

private ArrayAdapter<CharSequence> adapterArea;基本都用CharSequence 應為我們還是要標準化 以借口作為我們的標準,能使接口就不適應類(String)

adapterArea=new ArrayAdapter<CharSequence>()

使用這個構造方法,因為可以直接接受數組

publicArrayAdapter( context, int resource, int textViewResourceId, T[] objects) package com.qn.spinner;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import android.widget.TextView;public class MainActivity extends Activity {/** Called when the activity is first created. */private Spinner city;// 一級菜單private Spinner area;//二級菜單private String[][] areaData=new String [][]{{"東城","西城","朝陽","大興"}//針對一級子信息,{"黃普","東方名族","楊浦","大興"}//針對二級子信息,{"廣東"}};//針對三級子信息private ArrayAdapter<CharSequence> adapterArea;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);city = (Spinner) findViewById(R.id.city);// 取得下拉列表框//由于一個城市有多個市區,為了簡單起見下面我們定義一個數組,通過數組保存若干個城市,而實際中需要單獨的數據area = (Spinner) findViewById(R.id.area);// 取得下拉列表框city.setOnItemSelectedListener(new OnItemSelectedListenerImpl());}private class OnItemSelectedListenerImpl implements OnItemSelectedListener {public void onItemSelected(AdapterView<?> parent, View view,int position, long id) {// 選項改變的時候觸發adapterArea=new ArrayAdapter<CharSequence>(MainActivity.this,android.R.layout.simple_spinner_item,//顯示風格areaData[position]);//在列表視圖中所代表的對象。area.setAdapter(adapterArea);//把adapterArea添加到area}public void onNothingSelected(AdapterView<?> arg0) {// 沒有選項的時候觸發// 一般不關心}} }

?結果


總結

以上是生活随笔為你收集整理的(Spinner) android中Spinner的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。