Android學習筆記之Spinner

來源:互聯網
上載者:User

spinner就相當於Html中的下拉式清單方塊,在下面的例子裡我們共同學習一下spinner的使用。

 

屬性:

 

屬性名稱

描述

android:prompt

該提示在下拉式清單對話方塊顯示時顯示。(譯者註:對話方塊的標題: 

方法



public CharSequence getPrompt()
  傳回值    
當對話方塊彈出的時候顯示的提示(獲得彈出視圖上的標題字)
 
public void onClick(DialogInterface dialog, int which)
當點擊彈出框中的項時這個方法將被調用。
  參數
  dialog       點擊彈出的對話方塊
  which      點擊按鈕(如:Button)或者點擊位置
 
public Boolean performClick()
如果它被定義就調用此視圖的OnClickListener(譯者註:例如可以在載入時預設彈出下拉式清單)。
  傳回值
為True一個指定的OnClickListener被調用,為false時不被調用。
 
public void setOnItemClickListener(AdapterView.OnItemClickListener I)
    Spinner不支援item的點擊事件,調用此方法將引發異常。
參數
  l        這個監聽將被忽略
 
public void setPromptId(CharSequence prompt)
設定對話方塊彈出的時候顯示的提示(譯者註:設定彈出視圖上的標題字)
參數
prompt     設定的提示
 
public void setPromptId(int promptId)
設定對話方塊彈出的時候顯示的提示(譯者註:設定彈出視圖上的標題字)
參數
  prompted 當對話方塊顯示是顯示這個資源id所代表的提示。
範例:
 
package android.imageview; 
 
import java.util.ArrayList; 
import java.util.List; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
 
public class ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner = null; 
    private ArrayAdapter<String> adapter = null; 
    private List<String> list = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner = (Spinner)findViewById(R.id.spinner); 
        spinner.setPrompt("請選擇你喜歡的水果?"); 
         
        list = new ArrayList<String>(); 
        list.add("蘋果"); 
        list.add("香蕉"); 
        list.add("梨"); 
        list.add("桃"); 
         
        adapter = new ArrayAdapter<String>(ImageView1Activity.this, android.R.layout.simple_dropdown_item_1line,list); 
        spinner.setAdapter(adapter); 
    } 
}   


另一種方法:


package android.imageview; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
 
public class ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner1 = null; 
    private ArrayAdapter<CharSequence> adapter = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner1 = (Spinner)findViewById(R.id.spinner1); 
        spinner1.setPrompt("你要以後在哪工作?"); 
        adapter = ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_item); 
        spinner1.setAdapter(adapter); 
    } 

 
 
[java] view plaincopy
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
    <string name="hello">Hello World, ImageView1Activity!</string> 
    <string name="app_name">ImageView1</string> 
    <string-array name = "city"> 
        <item>山東</item> 
        <item>上海</item> 
        <item>北京</item> 
        <item>大連</item> 
    </string-array> 
</resources>   




載入進事件:
 

 
package android.imageview; 
 
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.Spinner; 
import android.widget.Toast; 
 
public class ImageView1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    private Spinner spinner1 = null; 
    private ArrayAdapter<CharSequence> adapter = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        spinner1 = (Spinner)findViewById(R.id.spinner1); 
        spinner1.setPrompt("你要以後在哪工作?"); 
        adapter = ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_item); 
        spinner1.setAdapter(adapter); 
         
        spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { 
 
            public void onItemSelected(AdapterView<?> arg0, View arg1, 
                    int arg2, long arg3) { 
                // TODO Auto-generated method stub 
 
                Toast.makeText(ImageView1Activity.this,"選擇的城市是:" +spinner1.getItemAtPosition(arg2).toString(), Toast.LENGTH_LONG).show(); 
 
            } 
 
            public void onNothingSelected(AdapterView<?> arg0) { 
                // TODO Auto-generated method stub 
                 
            } 
             
        }); 
    } 
}   







 


摘自 落日小屋

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.