@TianCheng 2016-04-06 10:01 采纳率: 100%
浏览 1364
已采纳

求大神帮忙解答下,学习安卓的过程中,关于SampleAdapter的问题

package com.aa.cao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class MainActivity extends Activity {
private ListView listview;
private SimpleAdapter simp_adapter;
private List>datalist;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listview.setAdapter(simp_adapter);
    simp_adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic","text"}, new int[]{R.id.pic,R.id.text});
    datalist=new ArrayList<Map<String,Object>>();
}

private List<Map<String,Object>> getData(){
    for(int i=0;i<20;i++){
        Map<String,Object>map=new HashMap<String, Object>();
        map.put("pic", R.drawable.ic_launcher);
        map.put("text", "慕课网"+i);
        datalist.add(map);
    }
    return datalist;
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

}

不知道为什么,一运行就报错,实在找不出问题,求大神帮忙解答下,感谢!

  • 写回答

4条回答 默认 最新

  • lyp_csdn 2016-04-07 09:13
    关注
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listview.setAdapter(simp_adapter);
        simp_adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"pic","text"}, new int[]{R.id.pic,R.id.text});
        datalist=new ArrayList<Map<String,Object>>();
    }
    
    1. listview要先实例化,如listview = (ListView)findViewById(R.id.xxx),xxx是listview的id
    2. 同样的道理simp_adapter也要在 listview.setAdapter之前实例化
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波