Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Spinner與適配器模式詳解及實例代碼

Android Spinner與適配器模式詳解及實例代碼

編輯:關於Android編程

最近做項目對Android Spinner 使用,這裡簡單寫個小例子,來測試如何使用。

Spinner

是一個下拉列表,往安卓界面中拖拽一個Spinner控件,在屬性中設置Android:entries=“@array/spinner_data”
其中spinner_data為在string中設置的數組。數組中由固定寫好的值。此時便可在界面設置好下拉列表。

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView1" 
    android:layout_below="@+id/textView1" 
    android:layout_marginTop="17dp" 
    android:entries="@array/spinner_data"/> 

當然為了用戶體驗好,可以設置 android:spinnerMode="dialog"屬性,可以使下拉列表有彈出框。

適配器:

適配器主要負責從數據源中抓取數據,傳向各個UI組件。主要的適配器adapter由ArrayAdapter和BaseAdapter。 即適配器負責從某個數據源比如數組中得到數據傳向Spinner,顯示在界面上。

首先定義數據源

private String[] ss=new String[]{ 
    "貓咪", 
    "老虎", 
    "獅子", 
       
  }; 

數據源2

private List<String> list=new ArrayList<String>(); 
list.add("百度"); 
    list.add("騰訊"); 
    list.add("阿裡巴巴"); 

其次定義一個類Myadapter繼承與抽象類BaseAdapter,抽象方法有四個。

private class Myadapter extends BaseAdapter{ 
 
  @Override 
  public int getCount</span>() { 
    // TODO Auto-generated method stub 
    return ss.length; 
  } 
 
  @Override 
  public Object getItem(int position) { 
    // TODO Auto-generated method stub 
    return null; 
  } 
 
  @Override 
  public long getItemId(int position) { 
    // TODO Auto-generated method stub 
    return 0; 
  } 
 
  @Override 
  public View getView</span>(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    TextView textView=new TextView(MainActivity.this); 
    textView.setText(ss[position]); 
     
    return textView; 
  } 

然後再主函數中

Spinner spinner=(Spinner) findViewById(R.id.spinner1); 
    BaseAdapter adapter=new Myadapter(); 
    spinner.setAdapter(adapter); 

先找到Spinner控件,並且實例化new一個adapter。通過adapter適配器來抓取數據源ss中的數據。

BaseAdapter適配器最重要的方法是getcount()以及getview()方法。前者返回數據源的長度,後者進行一些操作。

當然可以使用更簡單的ArrayAdaper適配器。

Spinner spinner=(Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ss); 
    spinner.setAdapter(adapter); 

通過以上語句,可以直接定位在數組ss中。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved