为了账号安全,请及时绑定邮箱和手机立即绑定

老师能帮忙看看我自己学着写的这个SimpleAdapter的例子哪里出问题了么,将这个程序部署到模拟器后直接闪退了,谢谢

public class MainActivity extends Activity implements OnItemSelectedListener{

private TextView textView;
private Spinner spinner; 
private SimpleAdapter sim_adapter;
private List<Map<String, Object>>dataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView) findViewById(R.id.textView);
        spinner = (Spinner) findViewById(R.id.spinner);
        
        textView.setText("您选择的是:北京");

        dataList = new ArrayList<Map<String,Object>>();

        sim_adapter = new SimpleAdapter(this, getData(), R.layout.item, new String[]{"image", "text"}, new int[]{R.id.image, R.id.text});
        
        sim_adapter.setDropDownViewResource(R.layout.item);
        
        spinner.setAdapter(sim_adapter);
        
        spinner.setOnItemSelectedListener(this);
    }

private List<Map<String, Object>> getData() {
Map<String, Object>map1 = new HashMap<String, Object>();
map1.put("image", R.drawable.ic_launcher);
map1.put("text", "北京");
Map<String, Object>map2 = new HashMap<String, Object>();
map2.put("image", R.drawable.ic_launcher);
map2.put("text", "上海");
Map<String, Object>map3 = new HashMap<String, Object>();
map3.put("image", R.drawable.ic_launcher);
map3.put("text", "广州");
Map<String, Object>map4 = new HashMap<String, Object>();
map4.put("image", R.drawable.ic_launcher);
map4.put("text", "深圳");

dataList.add(map1);
dataList.add(map2);
dataList.add(map3);
dataList.add(map4);
       
return dataList;
}

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String cityName = (String) sim_adapter.getItem(arg2);
textView.setText("您选择的是:"+cityName);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}

}


正在回答

7 回答

通过sim_adapter.getItem(arg2)得到的Item不是单纯的String类型,是一个包含image,文本的map

0 回复 有任何疑惑可以回复我~

我也是这个错误,哪里错了求告诉

0 回复 有任何疑惑可以回复我~

空指针异常?

0 回复 有任何疑惑可以回复我~
#1

慕仔4276564

是空指针,但是哪里错了?
2015-08-11 回复 有任何疑惑可以回复我~

getData()里加一句

datalist = new ArrayList<Map<String, Object>>();

0 回复 有任何疑惑可以回复我~

你说下报的错误吧,看看具体是哪里报错

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111172    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程
意见反馈 帮助中心 APP下载
官方微信