使用SimpleAdapter绑定的spinner

spinner作为我们常用的下拉列表,其所需的Adapter也有很多类型,本文讲解的是绑定Simpleadapter

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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.sp);
        final List>  list=new ArrayList<>();
        for (int i=0;i<10;i++){
            Map map=new HashMap<>();
            map.put("name","姓名"+i);
            map.put("age",10+i+"");
            list.add(map);
        }
        /**
         * 创建SimpleAdapter
         * 1.Context:上下文对象
         * 2.List<? extends Map>:数据源
         * 3.加载的布局文件,必须自己创建,作用就是Spinner每一行展示的样式
         * 4.数据源中根据键取出值
         * 5.把相对应位置取出的值绑定到性对应位置的控件上
         */
        SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.spinner_item,
                new String[]{"name","age"},new int[]{R.id.name,R.id.age});
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
                //String name=list.get(position).get("name");
                TextView tv=(TextView)view.findViewById(R.id.name);
                String name2=tv.getText().toString();
                Toast.makeText(MainActivity.this,name2,Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView parent) {

            }
        });
    }
}
主Activity布局




    

spinner的item布局



    
    



你可能感兴趣的:(使用SimpleAdapter绑定的spinner)