用SimpleAdapter作為適配器,不報錯但是無法運行
package com.example.administrator.spinnerdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
? ?private TextView textView;
? ?private Spinner spinner;
? ?private SimpleAdapter simpleAdapter;
? ?private List<Map<String, Object>> dataList;
? ?@Override
? ?protected void onCreate(Bundle savedInstanceState) {
? ? ? ?super.onCreate(savedInstanceState);
? ? ? ?setContentView(R.layout.main);
? ? ? ?textView.setText("你選擇的城市是");
? ? ? ?//第一步:添加一個下拉列表項list,這里添加的就是下拉列表的菜單項
? ? ? ?dataList = new ArrayList<Map<String, Object>>();
? ? ? ?//getData();
? ? ? ?textView = findViewById(R.id.text);
? ? ? ?spinner = findViewById(R.id.spinner);
? ? ? ?//第二步:為下拉列表定義一個適配器,這里就會用到list
? ? ? ?simpleAdapter = new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic", "text1"}, new int[]{R.id.pic, R.id.text1});
? ? ? ?//第三步:為適配器設置下拉樣式
? ? ? ?simpleAdapter.setDropDownViewResource(R.layout.item);
? ? ? ?//第四步:將適配器添加到下拉列表中
? ? ? ?spinner.setAdapter(simpleAdapter);
? ? ? ?//第五步:為下拉列表設置各種響應事件,事件響應菜單被選中
? ? ? ?spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
? ? ? ? ? ?@Override
? ? ? ? ? ?public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
? ? ? ? ? ? ? ?//將你選的值帶入到textView
? ? ? ? ? ? ? ?String cityName = (String) simpleAdapter.getItem(position);
? ? ? ? ? ? ? ?textView.setText("你選擇的是" + cityName);
? ? ? ? ? ?}
? ? ? ? ? ?@Override
? ? ? ? ? ?public void onNothingSelected(AdapterView<?> parent) {
? ? ? ? ? ? ? ?textView.setText("NONE");
? ? ? ? ? ?}
? ? ? ?});
? ?}
? ?private List<Map<String, Object>> getData() {
? ? ? ?Map<String, Object> map = new HashMap<String, Object>();
? ? ? ?map.put("pic", R.mipmap.ic_launcher);
? ? ? ?map.put("text1", "北京");
? ? ? ?Map<String, Object> map1 = new HashMap<String, Object>();
? ? ? ?map1.put("pic", R.mipmap.ic_launcher);
? ? ? ?map1.put("text1", "廈門");
? ? ? ?Map<String, Object> map2 = new HashMap<String, Object>();
? ? ? ?map2.put("pic", R.mipmap.ic_launcher);
? ? ? ?map2.put("text1", "天津");
? ? ? ?Map<String, Object> map3 = new HashMap<String, Object>();
? ? ? ?map3.put("pic", R.mipmap.ic_launcher);
? ? ? ?map3.put("text1", "上海");
? ? ? ?dataList.add(map);
? ? ? ?dataList.add(map1);
? ? ? ?dataList.add(map2);
? ? ? ?dataList.add(map3);
? ? ? ?return dataList;
? ?}
}
2017-11-27