SimpleAdapterバインドを使用したspinner

3391 ワード

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>:   
         * 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レイアウト