溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Spinner的簡(jiǎn)單用法

發(fā)布時(shí)間:2020-07-18 22:14:56 來(lái)源:網(wǎng)絡(luò) 閱讀:868 作者:mac_xiao 欄目:移動(dòng)開(kāi)發(fā)

這篇簡(jiǎn)單介紹下Android中下拉列表Spinner的用法,話不多說(shuō),先上圖

Spinner的簡(jiǎn)單用法

Spinner的簡(jiǎn)單用法

Spinner的簡(jiǎn)單用法

布局文件中的spinner.xml如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/widget28"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
    <!-- 文字一般用sp作為長(zhǎng)度單位 -->
    <TextView
        android:id="@+id/TextView_Show"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="可以開(kāi)始選擇所在城市了。"
        android:textSize="25sp"/>

    <Spinner
        android:id="@+id/spinner_City"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
 
</LinearLayout>

數(shù)據(jù)源arrays.xml(防止硬編碼)如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="cities">
        <item>北京</item>
        <item>上海</item>
        <item>廣州</item>
        <item>深圳</item>
        <item>杭州</item>
        <item>成都</item>
        <item>大連</item>
        <item>南京</item>
    </string-array>
</resources>

主程序中的SpinnerActivity.java如下

public class SpinnerActivity extends Activity { 

//方式一  聲明cities字符串?dāng)?shù)組,為Spinner的下拉列表預(yù)定義數(shù)據(jù):
//方式一    private static final String[] cities={"北京","上海","廣州","深圳","杭州","成都","大連","南京"}; 
    private TextView text; 
    private Spinner spinner; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.spinner); 
        text=(TextView)findViewById(R.id.TextView_Show); 
        spinner=(Spinner)findViewById(R.id.spinner_City); 

        //實(shí)例化ArrayAdapter: 
//方式一       ArrayAdapter<String> adapter =new ArrayAdapter<String>(
//方式一        	   this,
//方式一        	   android.R.layout.simple_spinner_item,
//方式一        	   cities); 
        ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(
           	this,
           	R.array.cities,
           	android.R.layout.simple_spinner_item);
        //String類(lèi)型是CharSequence接口的實(shí)現(xiàn)
        //構(gòu)建適配器為L(zhǎng)istView綁定數(shù)據(jù)
        //設(shè)置Spinner的下拉列表顯示樣式 
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
        
        //將adapter添加到spinner中 
        spinner.setAdapter(adapter); 
        
        //設(shè)置Spinner的一些屬性
        spinner.setPrompt("請(qǐng)選擇城市:");//prompt:提示
        spinner.setSelection(0,true);
        
        //添加Spinner事件監(jiān)聽(tīng) 
        spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ 
            @Override 
            public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) { 
//方式一                  text.setText("你所在的城市是:"+cities[arg2]); 
            	//arg0是適配器視圖對(duì)象,這里指下拉列表視圖。AdapterView 是內(nèi)容由適配器來(lái)決定的視圖類(lèi),<?>是適配器里內(nèi)容的類(lèi)型。
            	//arg1是適配器視圖里的被點(diǎn)擊的對(duì)象(即被選中的那一項(xiàng)),arg2被選中項(xiàng)的位置,arg3選中項(xiàng)所在行的行ID號(hào)
                text.setText("你所在的城市是:"+arg0.getItemAtPosition(arg2).toString()); 
                //設(shè)置顯示當(dāng)前選擇的項(xiàng) 
                arg0.setVisibility(View.VISIBLE); 
            } 

            @Override 
            public void onNothingSelected(AdapterView<?> arg0) { 
            } 
        }); 
        
    } 
}



這里有個(gè)小技巧:自動(dòng)導(dǎo)入所需包的快捷鍵shift+ctrl+oSpinner的簡(jiǎn)單用法





向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI