2 gaoyouhuang gaoyouhuang 于 2016.01.25 20:15 提问

android listview 报错 空指针

这问题 困扰了我3天了 不知道为什么 求大神指点
上代码

这是onCreate里面的
// 商品 listview

    lv_friend=(ListView) findViewById(R.id.LV_store);
    adapter=new Myadapter(this, getdatas());
    System.out.println("adapter+++++++++++"+adapter);
    lv_friend.setAdapter(adapter);


}
private List<GetDataType> getdatas() {
    List<GetDataType> list=new ArrayList<GetDataType>();
    GetDataType data1=new GetDataType();
    data1.setIv_portrait(R.drawable.ic_launcher);
    data1.setName("杨幂");
    data1.setSignature("喜欢我就来找我啊");
    list.add(data1);

    GetDataType data2=new GetDataType();
    data2.setIv_portrait(R.drawable.ic_launcher);
    data2.setName("范冰冰");
    data2.setSignature("我在这里等你哦");
    list.add(data2);

    GetDataType data3=new GetDataType();
    data3.setIv_portrait(R.drawable.ic_launcher);
    data3.setName("唐嫣");
    data3.setSignature("来追我呀,呵呵");
    list.add(data3);

    GetDataType data4=new GetDataType();
    data4.setIv_portrait(R.drawable.ic_launcher);
    data4.setName("李小璐");
    data4.setSignature("386562,加我好友呀");
    list.add(data4);

    GetDataType data5=new GetDataType();
    data5.setIv_portrait(R.drawable.ic_launcher);
    data5.setName("柳岩");
    data5.setSignature("帅哥,过来一下");
    list.add(data5);
    return list;
}

这是Myadapter
package com.android.workapp;

import java.util.List;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class Myadapter extends BaseAdapter{
private List mData;
private Context mcontext;
private int mid;
public Myadapter(Context context,List data){
this.mcontext=context;
this.mData=data;
}
//获取列表列的数量
@Override
public int getCount() {
return mData.size();
}
//根据postion获取item的数据
@Override
public Object getItem(int position) {
return mData.get(position);
}
//获取position对应的id
@Override
public long getItemId(int position) {
return position;
}
//创建item的视图
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view=View.inflate(mcontext, R.layout.saver_tickey_store_item, null);
//获取item对应的数据对象
GetDataType getdata=mData.get(position);
//初始化view
ImageView iv_portrait= (ImageView) view.findViewById(R.id.IV_portrait);
TextView txt_name=(TextView) view.findViewById(R.id.txt_name);
TextView signature=(TextView) view.findViewById(R.id.signature);
//邦定数据到view
iv_portrait.setImageResource(getdata.getIv_portrait());
txt_name.setText(getdata.getName());
signature.setText(getdata.getSignature());

return view;
}

}

GetDataType

package com.android.workapp;

public class GetDataType {
private int iv_portrait;
private String name;
private String signature;
public int getIv_portrait() {
return iv_portrait;
}
public void setIv_portrait(int iv_portrait) {
this.iv_portrait = iv_portrait;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSignature() {
return signature;
}
public void setSignature(String signature) {
this.signature = signature;
}

}

图片说明

6个回答

leilba
leilba   Rxr 2016.01.26 09:59
已采纳

检查一下你这个activity绑定的layout里面有id为LV_store的listView,,从报错来看的话,可能是这个listView的问题.
另外,建议id的话不要用大写的字母

gaoyouhuang
gaoyouhuang 先说下 我的错误 和listview 无关 原来是 setContentView(R.layout.saver_tickey_store_llist); 这个布局要对应 listview的那个布局 而我之前对应的是 就显示 listview中的布局 所以报错了 希望和我错一样的 多注意这些
2 年多之前 回复
devmiao
devmiao   Ds   Rxr 2016.01.25 21:03
Mr_dsw
Mr_dsw   Ds   Rxr 2016.01.25 21:05

看了下代码,如果你确定没别的问题,clear下你的项目工程,然后在编译,还有可能就是你的listview对应的id不对,你仔细检查一下

andriod132
andriod132   2016.01.25 22:12

大体上没有错误,报空指针的话,你用Log.i()来测试每个对象,总能找到。

rui888
rui888   Ds   Rxr 2016.01.26 09:11

这个调试看看有出现null 的地方。

u010047390
u010047390   2016.05.23 21:36

View view=View.inflate(mcontext, R.layout.saver_tickey_store_item, null);

写成convertView=LayoutInflat.from(ctx).inflate(R.layout.saver,null);就行了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ListView绑定适配器空指针问题发生的原因
出错位
ListView在下拉时出现空指针错误
原因出在adapter的getView方法中 原先的写法: @Override public View getView(int position, View convertView, ViewGroup parent) { View view = null; ViewHolder holder = null; if(convertView == null) { holde
ListView.setAdapter(adapter);空指针异常的问题
今天在学习ListiView的时候,出现了空指针异常的问题,经过排查原来是自己的list没有实例化 原代码:     private ListView myListView;     private ArrayAdapteradapter;     private ListmyList ; 修改以后的代码:     private ListView myListView;     p
关于listView.setAdapter(adapter)报空指针异常的问题
问题:listView.setAdapter(adapter)报空。 1、先在 listView = (ListView) this.findViewById(R.id.listView);后用   if(listView==null)         Log.i("debug","null"); 调试。 listView为空。 2、检查 <ListView and
动态计算listview的高度listItem.measure(0, 0)报空指针异常解决办法
当我们在使用Listview这类的控件和scrollview嵌套使用的时候会调用一个动态计算listview高度的方法。网上大部分方法基本都如下: public class Utils { public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter
遇到的Fragment中使用setAdapter()设置ListView报空指针解决方案
场景是这样,底部4个tab导航栏。用的far
Android错误之setAdapter(adapter)空指针nullPointer 解决办法
在设置adapter时,会经常遇到如下错误:空指针错误如果setAdapter报空指针,那么可用如下语句调试,找出到底哪里产生空指针           hisList = (ListView) findViewById(R.id.oillist);                if(hisList==null)                {                        L
关于Fragment里面ListView.setAdapter(SimpleAdapter)报空指针的问题
关于Fragment里面ListView.setAdapter(SimpleAdapter)报空指针的问题场景是这样,底部4个tab导航栏。用的fragment。然后一个fragment里面用了ListView,但是在这个fragment里面给listview设置适配器的时候老是报空指针一样,listview也findViewById了,适配器也设置了属性,搞了很久没找到原因,最后通过百度找到了原因
【Android】AndroidStudio空指针解决之:listview与adapter的使用报空 java.lang.NullPointerException
作者:程序员小冰 (转载请说明出处)博客地址:http://blog.csdn.net/qq_21376985长期维护的Android项目,里面包括常用功能实现,以及知识点详解, 当然还有Java中的知识点。具体请看github:https://github.com/QQ986945193/DavidAndroidProjectTools说明,因为最近在将android中常见的知识点,以及常用功
Android setAdapter addHeaderView 报错解决方案
报错内容:Cannot add header view to list – setAdapter has already been called1、在sdk <=16的版本中,ListView的addHeaderView()方法是这样的: public void addHeaderView(View v, Object data, boolean isSelectable) { if