Android编程开发之Spinner组件用法
本文实例讲述了Android编程开发之Spinner组件用法。分享给大家供大家参考,具体如下:
Spinner组件组要用显示一个下拉列表,在使用中需要用到适配器Adapter,下面是一个该组件的使用示例
首先是布局文件main.xml:
<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"> <Spinnerandroid:id="@+id/spinner1"android:layout_width="fill_parent" android:layout_height="wrap_content"/> <Spinnerandroid:id="@+id/spinner2"android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_marginTop="20dp"/> </LinearLayout>
由于用到simpAdapter所以要写子项Item的布局如下item.xml:
<?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal"android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageViewandroid:id="@+id/ivLogo"android:layout_width="60dp" android:layout_height="60dp"android:src="@drawable/icon" android:paddingLeft="10dp"/> <TextViewandroid:id="@+id/tvApplicationName"android:textColor="#000" android:layout_width="wrap_content"android:layout_height="fill_parent" android:textSize="16dp"android:gravity="center_vertical" android:paddingLeft="10dp"/> </LinearLayout>
下面是代码:
importjava.util.ArrayList; importjava.util.HashMap; importjava.util.List; importjava.util.Map; importandroid.app.Activity; importandroid.app.AlertDialog; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.AdapterView; importandroid.widget.ArrayAdapter; importandroid.widget.SimpleAdapter; importandroid.widget.Spinner; importandroid.widget.AdapterView.OnItemSelectedListener; publicclassMainextendsActivity { @Override publicvoidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取对象 Spinnerspinner1=(Spinner)findViewById(R.id.spinner1); String[]applicationNames=newString[] {"多功能日历","eoeMarket客户端","耐玩的重力消砖块","白社会","程序终结者"}; ArrayAdapter<String>aaAdapter=newArrayAdapter<String>(this, android.R.layout.simple_spinner_item,applicationNames); //将如下代码可以使列表项带RadioButton组件 //aaAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner1.setAdapter(aaAdapter); Spinnerspinner2=(Spinner)findViewById(R.id.spinner2); finalList<Map<String,Object>>items=newArrayList<Map<String,Object>>(); Map<String,Object>item1=newHashMap<String,Object>(); item1.put("ivLogo",R.drawable.calendar); item1.put("tvApplicationName","多功能日历"); Map<String,Object>item2=newHashMap<String,Object>(); item2.put("ivLogo",R.drawable.eoemarket); item2.put("tvApplicationName","eoeMarket客户端"); items.add(item1); items.add(item2); SimpleAdaptersimpleAdapter=newSimpleAdapter(this,items, R.layout.item,newString[] {"ivLogo","tvApplicationName"},newint[] {R.id.ivLogo,R.id.tvApplicationName}); spinner2.setAdapter(simpleAdapter); //为Spinner2加上监听事件 spinner2.setOnItemSelectedListener(newOnItemSelectedListener() { @Override publicvoidonItemSelected(AdapterView<?>parent,Viewview, intposition,longid) { newAlertDialog.Builder(view.getContext()).setTitle( items.get(position).get("tvApplicationName") .toString()).setIcon( Integer.parseInt(items.get(position).get("ivLogo") .toString())).show(); } @Override publicvoidonNothingSelected(AdapterView<?>parent) { } }); } }
希望本文所述对大家Android程序设计有所帮助。