Java List调用add方法时显示空指针错误

定义:privateList<Map<String,Object>>muldata;-------------------------------------------... 定义:
private List<Map<String, Object>> muldata;
-----------------------------------------------------------------
使用
//也试过Map<String,Object> map=new HashMap<>();Map<String,Object> map=new HashMap<String,Object>();但是都报错
Map<String,Object> map=new ArrayMap<>();

map.put("image",R.drawable.ic_launcher);
map.put("text", "测试文本:");
muldata.add(map);

---------------------------------------------------------------
报错:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.listview/com.example.listview.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
为什么是空指针?
展开
 我来答
百度网友d7a1930
2015-02-26 · TA获得超过440个赞
知道小有建树答主
回答量:514
采纳率:100%
帮助的人:358万
展开全部

你的 muldata这个对象是什么? 你只是new 了一个map对象,并没有new list对象,所以list.add()自然就报错了

private List<Map<String,Object>> muldata;
muldata = new ArrayList<Map<String,Object>>();
Map<String,Object> map=new HashMap<>();
map.put("image",R.drawable.ic_launcher);
map.put("text", "测试文本:");
muldata.add(map);

这样再试试,话说你这好像是Android的简单适配器吧? java 基础需要提高,否则你Android学起来非常的累。

azhqgu
推荐于2017-10-14 · TA获得超过323个赞
知道小有建树答主
回答量:563
采纳率:75%
帮助的人:204万
展开全部
java中的List属于集合。可以添加任何对象。你所说的空指针应该是你添加的时候,List集合没有实例化吧。Java中当操作一个空对象(不存在或者已经释放的对象)就会抛出空指针错误,提示你操作了一个不存在的对象,给你一个例子:
List al = new ArrayList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9485a6c
2015-02-26 · TA获得超过588个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:181万
展开全部
private List<Map<String, Object>> muldata;你要private List<Map<String, Object>> muldata=new ArrayList<Map<String, Object>>;才可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式