zoukankan      html  css  js  c++  java
  • ANDROID_MARS学习笔记_S02_001_Spinner

    1.strings.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <resources>
     3 
     4     <string name="app_name">S02_E01_SpinnerEtc</string>
     5     <string name="hello_world">Hello world!</string>
     6     <string name="action_settings">Settings</string>
     7 
     8     <string-array name="planets">
     9         <item>地球</item>
    10         <item>火星</item>
    11         <item>水星</item>
    12         <item>木星</item>
    13     </string-array>
    14 </resources>

    2.activity_main.xml

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:paddingBottom="@dimen/activity_vertical_margin"
     6     android:paddingLeft="@dimen/activity_horizontal_margin"
     7     android:paddingRight="@dimen/activity_horizontal_margin"
     8     android:paddingTop="@dimen/activity_vertical_margin"
     9     tools:context="com.example.s02_e01_spinneretc.MainActivity" >
    10 
    11     <Spinner 
    12         android:id="@+id/mSpinner"
    13         android:layout_width="match_parent"
    14         android:layout_height="wrap_content"/>
    15 
    16 </RelativeLayout>

    3.item.xml自定义下拉项用

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:orientation="vertical"
     4     android:layout_width="fill_parent"
     5     android:layout_height="fill_parent"
     6     >
     7 <TextView  
     8     android:id="@+id/textViewId"
     9     android:layout_width="fill_parent" 
    10     android:layout_height="wrap_content" 
    11     />
    12 </LinearLayout>

    4.java

     1 package com.example.s02_e01_spinneretc;
     2 
     3 import android.annotation.SuppressLint;
     4 import android.os.Bundle;
     5 import android.support.v7.app.ActionBarActivity;
     6 import android.view.Menu;
     7 import android.view.MenuItem;
     8 import android.view.View;
     9 import android.widget.AdapterView;
    10 import android.widget.AdapterView.OnItemSelectedListener;
    11 import android.widget.ArrayAdapter;
    12 import android.widget.Spinner;
    13 
    14 @SuppressLint("NewApi")
    15 public class MainActivity extends ActionBarActivity implements OnItemSelectedListener{
    16 
    17     private Spinner mSpinner;
    18     @Override
    19     protected void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         setContentView(R.layout.activity_main);
    22         mSpinner = (Spinner) findViewById(R.id.mSpinner);
    23         // Create an ArrayAdapter using the string array and a default spinner layout
    24         ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets, android.R.layout.simple_spinner_item);
    25         // Specify the layout to use when the list of choices appears
    26         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    27         // Apply the adapter to the spinner
    28         mSpinner.setAdapter(adapter);
    29         mSpinner.setPrompt("测试");
    30         mSpinner.setOnItemSelectedListener(this);
    31     }
    32 
    33     @Override
    34     public boolean onCreateOptionsMenu(Menu menu) {
    35         // Inflate the menu; this adds items to the action bar if it is present.
    36         getMenuInflater().inflate(R.menu.main, menu);
    37         return true;
    38     }
    39 
    40     @Override
    41     public boolean onOptionsItemSelected(MenuItem item) {
    42         // Handle action bar item clicks here. The action bar will
    43         // automatically handle clicks on the Home/Up button, so long
    44         // as you specify a parent activity in AndroidManifest.xml.
    45         int id = item.getItemId();
    46         if (id == R.id.action_settings) {
    47             return true;
    48         }
    49         return super.onOptionsItemSelected(item);
    50     }
    51 
    52     @Override
    53     public void onItemSelected(AdapterView<?> parent, View view, int position,
    54             long id) {
    55         System.out.println(parent.getItemAtPosition(position));
    56         
    57     }
    58 
    59     @Override
    60     public void onNothingSelected(AdapterView<?> parent) {
    61         System.out.println(parent);
    62         
    63     }
    64 }

    5.自定义下拉源

     1 package mars.spinner;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import android.app.Activity;
     7 import android.os.Bundle;
     8 import android.view.View;
     9 import android.widget.AdapterView;
    10 import android.widget.ArrayAdapter;
    11 import android.widget.Spinner;
    12 import android.widget.AdapterView.OnItemSelectedListener;
    13 
    14 public class MainActivity extends Activity {
    15     /** Called when the activity is first created. */
    16     //声明Spinner对象
    17     private Spinner spinner = null;
    18 
    19     @Override
    20     public void onCreate(Bundle savedInstanceState) {
    21         super.onCreate(savedInstanceState);
    22         setContentView(R.layout.main);
    23         //通过ID,得到Spinner对象
    24         spinner = (Spinner) findViewById(R.id.spinnerId);
    25         List<String> list = new ArrayList<String>();
    26         list.add("test1");
    27         list.add("test2");
    28         //调用ArrayAdapter的构造函数来创建ArrayAdapter对象
    29         //第一个参数是指上下文对象
    30         //第二个参数指定了下拉菜单当中每一个条目的样式
    31         //第三个参数指定了TextView控件的ID
    32         //第四个参数为整个列表提供数据
    33         ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
    34         //通过createFromResource方法创建一个ArrayAdapter对象
    35         //第一个参数是指上下文对象
    36         //第二参数引用了在strings.xml文件当中定义的String数组
    37         //第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件
    38         /*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
    39                 this, R.array.planets_array,
    40                 android.R.layout.simple_spinner_item);
    41 */        //设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件
    42         //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    43         
    44         spinner.setAdapter(adapter);
    45         spinner.setPrompt("测试");
    46         //为spinner对象绑定监听器
    47         spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
    48     }
    49     //这个监听器主要用来监听用户选择列表的动作
    50     class SpinnerOnSelectedListener implements OnItemSelectedListener{
    51         
    52         //当用户选定了一个条目时,就会调用该方法
    53         @Override
    54         public void onItemSelected(AdapterView<?> adapterView, View view, int position,
    55                 long id) {
    56             String selected = adapterView.getItemAtPosition(position).toString();
    57             System.out.println(selected);
    58         }
    59 
    60         @Override
    61         public void onNothingSelected(AdapterView<?> adapterView) {
    62             // TODO Auto-generated method stub
    63             System.out.println("nothingSelected");
    64         }
    65         
    66     }
    67 }
  • 相关阅读:
    个人冲刺二(7)
    个人冲刺二(6)
    个人冲刺二(5)
    个人冲刺二(4)
    对称二叉树 · symmetric binary tree
    108 Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
    pp 集成工程师 mism师兄问一问
    17. Merge Two Binary Trees 融合二叉树
    270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点
  • 原文地址:https://www.cnblogs.com/shamgod/p/5187081.html
Copyright © 2011-2022 走看看