当前位置: 移动技术网 > IT编程>移动开发>Android > Android Spinner与适配器模式详解及实例代码

Android Spinner与适配器模式详解及实例代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

个性服装搭配,鲜花朵朵在线观看,邯郸限行

最近做项目对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中。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网