当前位置: 移动技术网 > IT编程>移动开发>Android > Android Spinner 组件的应用实例

Android Spinner 组件的应用实例

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

优尼弗,孔雀鱼zadull,暨南大学医学院

android spinner 组件

spinner: 下拉组件

使用事项:布局在xml 中实现,具体的数据在java 代码中实现;

所用知识点:

数组适配器:arrayadapter  用于关系m 层和 c 层;

事件:onitemselectedlistener;

案列:查看十二星座效果图:

xml:代码如下:

    <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:orientation="vertical" > 
 
  <scrollview 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
 
    <linearlayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center_horizontal" 
      android:orientation="vertical" > 
 
      <spinner 
        android:id="@+id/spinner" 
        android:layout_width="300dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_vertical" /> 
 
      <textview 
        android:id="@+id/showinfo" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginleft="15dp" 
        android:layout_marginright="15dp" 
        android:gravity="center" 
        android:text=" " /> 
    </linearlayout> 
  </scrollview> 
 
</linearlayout> 

java代码如下:

  package com.example.spinnertest; 
 
import java.util.arraylist; 
 
import android.app.activity; 
import android.content.res.resources; 
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.textview; 
 
public class mainactivity extends activity { 
 
  private spinner spinner; 
  private textview tx; 
  private arraylist<string> list = null; 
  protected void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.main); 
 
    /* 获取textview 实体对象 , 用于显示星座的详细信息 */ 
    tx = (textview) findviewbyid(r.id.showinfo); 
 
    /* 下拉组件测试 spinner 对象首先获取 */ 
    spinner = (spinner) findviewbyid(r.id.spinner); 
 
    /* 准备数据源 m , 用集合进行保存 */ 
    list = new arraylist<string>();  
    list.add("aries"); 
    list.add("taurus"); 
    list.add("gemini"); 
    list.add("cancer"); 
    list.add("leo"); 
    list.add("virgo"); 
    list.add("libra"); 
    list.add("scorpio"); 
    list.add("sagittarius"); 
    list.add("capricorn"); 
    list.add("aquarius"); 
    list.add("pisces"); 
 
 
    /* 实现m 层 与c 层的关系 ,绑定数据 */ /* 参数1:上下文对象; 参数2:系统资源布局方式 ; 参数3:数据对象 */ 
    arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_spinner_dropdown_item, list); 
 
    /* 对v 层和c 层进行关系的绑定; */ 
    spinner.setadapter(adapter); 
 
    spinner.setonitemselectedlistener(new onitemselectedlistener() { 
 
      /* 对所有的选择项进行监控 *//* 参3:当前选择项的id 参4:被选择项在组中的位置,逻辑上与id 相等,但代表的意义不一样 */ 
      public void onitemselected(adapterview<?> arg0, view arg1, 
          int id, long position) { 
        // toast.maketext(mainactivity.this, "你选择的是第:"+id+"值为:"+list.get(id), 1000).show(); 
         
        /* 设置tx对象的值 */ 
        string temp = getconstellation(id); 
        tx.settext("\t"+temp); 
 
      } 
 
      @override 
      public void onnothingselected(adapterview<?> arg0) { 
        // todo auto-generated method stub 
 
      } 
    }); 
 
 
  } 
 
  /* 显示星座的信息 */ 
  protected string getconstellation(int id){ 
    resources rs = getresources(); 
    string temp = ""; 
    switch(id){ 
    case 0: 
      temp = rs.getstring(r.string.aries); 
      break; 
    case 1: 
      temp = rs.getstring(r.string.taurus); 
      break; 
    case 2: 
      temp = rs.getstring(r.string.gemini); 
      break; 
    case 3: 
      temp = rs.getstring(r.string.cancer); 
      break; 
    case 4: 
      temp = rs.getstring(r.string.leo); 
      break; 
    case 5: 
      temp = rs.getstring(r.string.virgo); 
      break; 
    case 6: 
      temp = rs.getstring(r.string.libra); 
      break; 
    case 7: 
      temp = rs.getstring(r.string.scorpio); 
      break; 
    case 8: 
      temp = rs.getstring(r.string.sagittarius); 
      break; 
    case 9: 
      temp = rs.getstring(r.string.capricorn); 
      break; 
    case 10: 
      temp = rs.getstring(r.string.aquarius); 
      break; 
    case 11: 
      temp = rs.getstring(r.string.pisces); 
      break; 
    case 12: 
      temp = rs.getstring(r.string.aries); 
      break; 
    } 
    return temp; 
  } 
 
 
} 

以上就是android spinner 组件的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

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

相关文章:

验证码:
移动技术网