spinner的使用
item.xml:
<?xml version= "1.0" encoding= "utf-8" ?> <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:orientation= "vertical" android:layout_width= "fill_parent" android:layout_height= "fill_parent" > <TextView android:id= "@+id/textViewId" android:layout_width= "fill_parent" android:layout_height= "wrap_content" /> </LinearLayout> |
main.xml:
<? xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > < Spinner android:id="@+id/spinnerId" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </ LinearLayout > |
strings.xml:
<? xml version="1.0" encoding="utf-8"?> < resources > < string name="hello">Hello World, MainActivity!</ string > < string name="app_name">spinner</ string > < string-array name="planets_array"> < item >Mercury</ item > < item >Venus</ item > < item >Earth</ item > < item >Mars</ item > < item >Jupiter</ item > < item >Saturn</ item > < item >Uranus</ item > < item >Neptune</ item > </ string-array > </ resources > |
MainActivity.java:
package mars.spinner; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.AdapterView.OnItemSelectedListener; public class MainActivity extends Activity { /** Called when the activity is first created. */ //声明Spinner对象 private Spinner spinner = null ; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); //通过ID,得到Spinner对象 spinner = (Spinner) findViewById(R.id.spinnerId); List<String> list = new ArrayList<String>(); list.add( "test1" ); list.add( "test2" ); //调用ArrayAdapter的构造函数来创建ArrayAdapter对象 //第一个参数是指上下文对象 //第二个参数指定了下拉菜单当中每一个条目的样式 //第三个参数指定了TextView控件的ID //第四个参数为整个列表提供数据 ArrayAdapter adapter = new ArrayAdapter( this ,R.layout.item,R.id.textViewId,list); //通过createFromResource方法创建一个ArrayAdapter对象 //第一个参数是指上下文对象 //第二参数引用了在strings.xml文件当中定义的String数组 //第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件 /*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.planets_array, android.R.layout.simple_spinner_item); */ //设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件 //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setPrompt( "测试" ); //为spinner对象绑定监听器 spinner.setOnItemSelectedListener( new SpinnerOnSelectedListener()); } //这个监听器主要用来监听用户选择列表的动作 class SpinnerOnSelectedListener implements OnItemSelectedListener{ //当用户选定了一个条目时,就会调用该方法 @Override public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) { String selected = adapterView.getItemAtPosition(position).toString(); System.out.println(selected); } @Override public void onNothingSelected(AdapterView<?> adapterView) { // TODO Auto-generated method stub System.out.println( "nothingSelected" ); } } } |
效果图如下:
posted on 2013-06-25 23:33 leihupqrst 阅读(225) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步