您的位置:首页 > 其它

十四.创建一个spinner下拉列表

2012-03-01 10:15 260 查看
一.方法一

a) 在主Activity的布局文件中添加一个Spinner控件。

<Spinner android:id="@+id/spinnderid"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>


b) 在string.xml文件中创建一个string-array标签,添加列表内容

<string-array name="spinner_array">

<item>测试一</item>

<item>测试二</item>

<item>测试三</item>

<item>测试四</item>

<item>测试五</item>

<item>测试六</item>

</string-array>


c) 在Activity中添加如下代码

package paj.spinnerTest;

import java.util.ArrayList;

import java.util.List;

import junit.framework.Test;
import android.R.anim;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class SpinnerTestActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取一个spinner控件
Spinner spinner = (Spinner) findViewById(R.id.spinnderid);
//创建一个ArrayAdapter对象
//第一个参数,当前窗体
//第二个参数,存放下拉列表内容的数组
//第三个参数,下拉菜单的布局样式。可以使用android内置的样式也可以自定义

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this,
R.array.spinner_array,
android.R.layout.simple_spinner_item);

//设置下拉菜单内容的布局样式。可以使用android内置的样式也可以自定义
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
//标题
spinner.setPrompt("测试");
//设置监听事件
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
//第一个参数,发生选中事件的控件
//第二个参数,下拉列表的内容视图
//第三个参数,下拉列表内容视图中的条目位置索引
//第四个参数,被点击条目的ID
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
// 调用getItemAtPosition的toString()方法获取字符串
System.out.println(arg0.getItemAtPosition(arg2).toString());
}

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

System.out.println("NoT Selected!");
}
});
}

}


二.动态添加列表内容

a) 创建一个List对象,并向List对象中添加内容。

b) 使用ArrayAdapter四个参数的构造函数创建一个对象,而不使用ArrayAdapter.createFromResource方法创建

c) 代码如下:

List<String> list = new ArrayList<String>();

list.add("测试测试一");

list.add("测试测试二");

//第一个参数为 当前Activity对象

//第二个参数为 自定义的Spinner布局文件

//第三个参数为 下拉列表内容样式布局文件

//第三个参数为 动态添加的List

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,

R.layout.item ,

R.id.Items,

list);


使用这种方法就不需要使用adapter.setDropDownViewResource来设置列表样式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: