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

没有下拉列表,只有个textView。求帮助

package com.sorgs.administrator.spinner;

import android.app.Activity;
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 java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MainActivity extends Activity{

    private TextView textView;
    private Spinner spinner;
    private SimpleAdapter 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>>();
        getData();
        //2.新建ArrayAdapter(数组适配器)
        adapter=new SimpleAdapter(this, dataList, R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text});

        //3.adapter设置一个下拉列表样式
        adapter.setDropDownViewResource(R.layout.item);

        //4.spinner加载适配器
        spinner.setAdapter(adapter);

        //5.spinner设置监听器
        spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                                       int arg2, long arg3) {
                textView.setText("您选择的是:" + adapter.getItem(arg2));
            }

            public void onNothingSelected(AdapterView<?> arg0) {
                textView.setText("NONE");
            }
        });

    }

    private void getData() {
        Map<String,Object>map = new HashMap<String,Object>();
        map.put("image", R.mipmap.ic_launcher);
        map.put("text", "北京");
        Map<String, Object> map2 = new HashMap<String, Object>();
        map2.put("image", R.mipmap.ic_launcher);
        map2.put("text", "上海");
        Map<String, Object> map3 = new HashMap<String, Object>();
        map3.put("image", R.mipmap.ic_launcher);
        map3.put("text", "广州");
        Map<String, Object> map4 = new HashMap<String, Object>();
        map4.put("image", R.mipmap.ic_launcher);
        map4.put("text", "深圳");
        dataList.add(map);
        dataList.add(map2);
        dataList.add(map3);
        dataList.add(map4);
    }


}


正在回答

4 回答

getData()方法应该是有返回值的,不能是void。return dataList;返回值类型是List<Map<String, Object>>。

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

没获取到数据,adapter=new SimpleAdapter(this, dataList, R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text});中的datalist应该改成你下面定义的getDate()方法

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

sorgs 提问者

我是菜鸟,可以具体点怎么写么?我直接替换datalist换成getData(),不行。我有些没懂你的意思。
2016-08-15 回复 有任何疑惑可以回复我~

应该是 添加到 一个map 中把    你添加了四个   他不知道  显示哪个了~

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

sorgs 提问者

这是老师的代码啊。老师给的代码就这样的
2016-08-03 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//579f288300012bf203280604.jpg

。。。。。。。。。。

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

举报

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

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

进入课程

没有下拉列表,只有个textView。求帮助

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信