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.Toast;
public class SpinnerActivity extends Activity {
Spinner spinner = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinner = (Spinner) findViewById(R.id.spinner);
/**
* 通过createFromResource()方法创建ArrayAdapter对象
* 第一个参数是上下文对象
* 第二个参数引用了string.xml文件当中的数组,
* 第三个参数用来指明spinner的样式,是一个布局id,该布局id由android系统提供,也可以替换自己定义的布局文件
*/
//ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner, android.R.layout.simple_spinner_item);
//设置spinner显示的样式,引用一个android系统提供的样式,系统自带了比较多的样式,大
//家可以选择自己喜欢的样式或客户定制的样式,当能也可以自己制定样式
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
List<String> list = new ArrayList<String>();
list.add("wo");
list.add("ai");
list.add("ni");
/**
* 调用ArrayAdapter的构造函数创建一个ArrayAdapter对象
* 第一个参数指上下文
* 第二个参数指定了下拉菜单中每一个条目的样式
* 第三个参数指定了TextView空间的id
* 第四个参数要添加数据的集合,为整个列表提供数据
*/
ArrayAdapter adapter = new ArrayAdapter(this, R.layout.item, R.id.textView, list);
spinner.setAdapter(adapter);
spinner.setPrompt("测试");
//设置spinner控件的监听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
//当用户选定了一个条目时,就会调用该方法
/**
* 第一个参数:代表整个列表页就是包含所有条目的列表
* 第二个参数:代表被选中的条目的view
* 第三个参数:位置
* 第四个参数:空间的id
*/
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
/**
* getItemAtPosition()
* 获取相关的数据列表中的指定位置
*/
Toast.makeText(parent.getContext(),"The planet is "+ parent.getItemAtPosition(position).toString(),
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
这样就实现了再list中望列表中动态添加数据。