您的位置:首页 > 移动开发 > Android开发

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
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: