Android控件开发之Spinner
2014-12-12 21:27
288 查看
下拉列表(Spinner)是一个每次只能选择所有项中一项的部件。它的项来自于与之相关联的适配器中
当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择
在Android也同样有这样的功能,这就是Spinner下拉列表在编码的同时,首先需要在布局中定时Spinner组件,然后
将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器
setOnItemSelectedListener并实现onItemSelected,从而获得用户所选择的内容,最后通过setVisibility
方法设置当前的显示项
效果图
本程序main.xml源码
[html]
view plaincopy
<?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/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="您所在的城市" />
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
</LinearLayout>
java源码
[html]
view plaincopy
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.TextView;
public class SpinnerActivity extends Activity
{
/** Called when the activity is first created. */
private static final String[] citys={"杭州","北京","成都","大连","深圳","南京", "桂林", "长沙"};
private TextView text;
private Spinner spinner;
private ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text=(TextView)findViewById(R.id.text);
spinner=(Spinner)findViewById(R.id.spinner);
//将可选内容与ArrayAdapter连接
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);
//设置下拉列表风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter添加到spinner中
spinner.setAdapter(adapter);
//添加Spinner事件监听
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
{
// TODO Auto-generated method stub
text.setText("你所在的城市是:"+citys[arg2]);
//设置显示当前选择的项
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
}
}
当在某个网站注册账号的时候,网站会让我们提供性别,生日,城市等信息,为了方便,就提供了一个下拉列表供我们选择
在Android也同样有这样的功能,这就是Spinner下拉列表在编码的同时,首先需要在布局中定时Spinner组件,然后
将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器
setOnItemSelectedListener并实现onItemSelected,从而获得用户所选择的内容,最后通过setVisibility
方法设置当前的显示项
效果图
本程序main.xml源码
[html]
view plaincopy
<?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/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="您所在的城市" />
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
</LinearLayout>
java源码
[html]
view plaincopy
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.TextView;
public class SpinnerActivity extends Activity
{
/** Called when the activity is first created. */
private static final String[] citys={"杭州","北京","成都","大连","深圳","南京", "桂林", "长沙"};
private TextView text;
private Spinner spinner;
private ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text=(TextView)findViewById(R.id.text);
spinner=(Spinner)findViewById(R.id.spinner);
//将可选内容与ArrayAdapter连接
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,citys);
//设置下拉列表风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//将adapter添加到spinner中
spinner.setAdapter(adapter);
//添加Spinner事件监听
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
{
// TODO Auto-generated method stub
text.setText("你所在的城市是:"+citys[arg2]);
//设置显示当前选择的项
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
}
}
相关文章推荐
- Android开发:Android控件之Spinner
- Android开发之四(七):常用控件之下拉列表(Spinner)
- Android开发学习笔记:为动态添加的Spinner控件绑定数据源以及监听事件
- 【android开发】 修改控件Spinner内容的字体大小 颜色等属性
- Android控件开发之Spinner
- Android开发之Spinner控件使用
- Android开发--Spinner控件的使用
- android 开发-spinner下拉框控件的实现
- Android开发中使用Spinner控件出现的问题
- 【android开发】 修改控件Spinner内容的字体大小 颜色等属性
- android开发中spinner控件的使用
- Android开发(21)--有关Spinner控件的使用说明
- android控件开发之Spinner控件
- Android开发笔记:基本控件之Spinner用法
- android应用开发之spinner控件的简单使用
- Android开发(21)--有关Spinner控件的使用说明
- Android开发小知识-Spinner控件使用
- 【Android 开发】:UI控件之 Spinner 下拉列表控件的使用
- Android开发--Spinner控件的使用
- Android开发视频第二季之一:Spinner控件的使用