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

Android studio里不能运行,代码完全一样的啊

package com.apress.gerber.myapplication;


import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.SimpleAdapter;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;



public class MainActivity extends ActionBarActivity {

private ListView listView;

    private ArrayAdapter<String>arr_adapter;

    private SimpleAdapter simp_adapter;

    private List<Map<String,Object>>dataList;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

     //setContentView(R.layout.item);

        listView= (ListView) findViewById(R.id.listView);

        //1、新建一个数据适配器

        //ArrayAdapter(上下文,当前ListView加载的每一个列表项所对应的布局文件,数据源)

        //SimpleAdapter(上下文,一个Map所组成的List集合,列表项的布局文件ID,Map中的键名,绑定数据视图中的ID·与from成对应关系)

        //2、适配器加载数据源

        String[]arr_data={"慕课网1","慕课网2","慕课网3","慕课网4"};


        dataList = new ArrayList<>();

        arr_adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,arr_data);

       simp_adapter=new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text"}, new int[]{R.id.pic,R.id.text});

       // listView.setAdapter(simp_adapter);

        //3、视图(ListView)加载适配器

      listView.setAdapter(simp_adapter);



    }

    private  List<Map<String,Object>> getData()

    {

        for (int i=0;i<20;i++)

        {


            Map<String,Object>map=new HashMap<>();

            map.put("pic",R.drawable.ic_launcher);

            map.put("text","慕课网"+i);

            dataList.add(map);


        }

        return  dataList;

    }




}


正在回答

6 回答

drawable.ic_launcher改成mipmap.ic_launcher,数组适配器的集合也要注释掉

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

解决没有?

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

还有这个Map<String,Object> map = new HashMap<String, Object>();

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

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

你的事dataList = new ArrayList<>();

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

爱你的发哥仔 提问者

那个是Androidstudio自动省略的,里面是有Map<String, Object>的.兄弟,所以应该不关这个事。
2016-08-01 回复 有任何疑惑可以回复我~
#2

Root_Lyretail 回复 爱你的发哥仔 提问者

我也在这卡了茫茫久
2016-08-07 回复 有任何疑惑可以回复我~

哪里?

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.apress.gerber.myapplication" >


    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>


</manifest>


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

你看看配置文件 那个style写错了 as现在不那样写

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

爱你的发哥仔 提问者

我ArrayAdapter是可以的运行的,但SimpleAdapter不可以
2016-07-22 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

Android studio里不能运行,代码完全一样的啊

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