欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

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

时间:2021-04-20 08:53:58|栏目: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中。

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

上一篇:android获得当前view在屏幕中坐标的方法

栏    目:Android代码

下一篇:Android DragImageView实现下拉拖动图片放大效果

本文标题:Android Spinner与适配器模式详解及实例代码

本文地址:http://www.codeinn.net/misctech/104724.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有