天天看点

android中Spinner的使用

目的:打印在下拉框中显示的内容

layout中的布局

<Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ui_sp"/>
           

Mainactivity中的代码

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
	Spinner spinner = (Spinner)findViewById(R.id.ui_sp);//获取spinner组件的id 用于以后对其操作
        final ArrayList<String> arrayList = new ArrayList<String>();//创建数组列表 用来存放以后要显示的内容
        arrayList.add("下拉框1");//添加要显示的内容
        arrayList.add("下拉框2");
        arrayList.add("下拉框3");

        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,arrayList);//创建适配器  this--上下文  android.R.layout.simple_spinner_item--显示的模板   arrayList--显示的内容
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//设置下拉之后的布局的样式 这里采用的是系统的一个布局
        spinner.setAdapter(arrayAdapter);//将适配器给下拉框
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {//当改变下拉框的时候会触发
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {//改变内容的时候
                Toast.makeText(MainActivity.this, arrayList.get(position), Toast.LENGTH_LONG).show();//打印所选中的东西arrayList.get(position)--position--数组中第几个是选中的
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {//没有改变的时候


            }
        });
    }