欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Spinner 组件的应用实例

程序员文章站 2023-12-15 14:47:52
android spinner 组件 spinner: 下拉组件 使用事项:布局在xml 中实现,具体的数据在java 代码中实现; 所用知识点: 数组适配器...

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 组件的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: