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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!