采用ArrayAdapter进行spinner的绑定

简单的arrayadapter是通过array数组来添加item的内容,只能进行单列的item数据展示

MainActivity代码

public class MainActivity extends AppCompatActivity {
    private Spinner spinner;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner=(Spinner)findViewById(R.id.spin);
        final ArrayList list=new ArrayList<>();
        for (int i=0;i<10;i++){
            list.add("我是"+i);
        }
        //实例化ArrayAdapter
        /*
        * 1.Context:上下文对象
        * 2.布局文件的id
        * 3.数据源:要绑定的数据
        * */
        //ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);
        final ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,list);
        spinner.setAdapter(adapter);//绑定适配器到Spinner

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
           //项被选中发生的事情
            //1.AdapterView:spinner的父类
            //2.View:加载的布局文件对象
            //3.position:选中项的索引
            //4.id:一般和position的值一样
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                //4种获取选中项值的方法
                //String value=list.get(position);
                //String value=adapter.getItem(position);
                //String value=spinner.getSelectedItem().toString();
                String value=parent.getSelectedItem().toString();
                Toast.makeText(MainActivity.this,value,Toast.LENGTH_SHORT).show();
            }

            //什么都没有选中的时候发生的事
            @Override
            public void onNothingSelected(AdapterView parent) {

            }
        });
    }
}
通过array数组进行数据添加的spinner布局就比较简单,没有spinner的item布局,主需要为Activity进行一个spinner布局即可




    




你可能感兴趣的:(采用ArrayAdapter进行spinner的绑定)