下拉列表 spinner(android)
2011-12-16 16:23
405 查看
下拉列表 spinner,这个使用很简单,在 xml 中定义一个标签,然后指定 ArrayAdapter<String> 就可以了,
Adapter 需要指定下拉的布局。关于下拉的数据,书中是写用静态数组,我这里改成了从资源文件中读取
java 代码
package zziss.android.spinnerTest;
import java.util.Map;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class SpinnerTestActivity extends Activity {
/** Called when the activity is first created. */
private TextView iTv;
private Spinner iSpinner;
private String[] items;
private ArrayAdapter<Map<String,Integer>> iAda;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
iTv = (TextView)this.findViewById(R.id.tv);
iSpinner = (Spinner)this.findViewById(R.id.spinner);
Resources res = getResources();
items = res.getStringArray(R.array.listItems);
ArrayAdapter<String> ada = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,items);
ada.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
iSpinner.setAdapter(ada);
iSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
iTv.setText(items[arg2]);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
</LinearLayout>
string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, SpinnerTestActivity!</string>
<string name="app_name">SpinnerTest</string>
<string-array name="listItems" >
<item >A型</item>
<item >B型</item>
<item >AB型</item>
<item >O型</item>
</string-array>
</resources>
Adapter 需要指定下拉的布局。关于下拉的数据,书中是写用静态数组,我这里改成了从资源文件中读取
java 代码
package zziss.android.spinnerTest;
import java.util.Map;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class SpinnerTestActivity extends Activity {
/** Called when the activity is first created. */
private TextView iTv;
private Spinner iSpinner;
private String[] items;
private ArrayAdapter<Map<String,Integer>> iAda;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
iTv = (TextView)this.findViewById(R.id.tv);
iSpinner = (Spinner)this.findViewById(R.id.spinner);
Resources res = getResources();
items = res.getStringArray(R.array.listItems);
ArrayAdapter<String> ada = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,items);
ada.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
iSpinner.setAdapter(ada);
iSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
iTv.setText(items[arg2]);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
</LinearLayout>
string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, SpinnerTestActivity!</string>
<string name="app_name">SpinnerTest</string>
<string-array name="listItems" >
<item >A型</item>
<item >B型</item>
<item >AB型</item>
<item >O型</item>
</string-array>
</resources>
相关文章推荐
- Android实现三级联动下拉框 下拉列表spinner
- Android开发基础:自定义下拉列表样式(spinner的用法)
- android 下拉列表(Spinner)的学习与应用
- Android下拉列表控件spinner-andoid学习之旅(十一)
- android spinner下拉列表
- android 下拉列表 Spinner
- Android开发:Spinner下拉列表
- android控件之spinner (下拉列表)
- Android:控件Spinner实现下拉列表
- android基本控件示例Spinner下拉列表(04)
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- Android开发之四(七):常用控件之下拉列表(Spinner)
- Android UI控件之Spinner(下拉列表)
- Android中Spinner下拉列表(简单layout.xml,ArrayAdapter和自定义Adapter实现)及下拉框提示prompt问题
- Spinner下拉列表【Android】
- Android Spinner 下拉列表
- 【Android 开发】:UI控件之 Spinner 下拉列表控件的使用
- Android实现三级联动下拉框 下拉列表spinner
- android 控件 下拉列表(Spinner)
- Android实现三级联动下拉框 下拉列表spinner的实例代码