安卓Adapter空指针,一直解决不了
是这样的。我是在做一个相当于一个手机卫士,里面有通讯录和黑名单两个功能。这个代码是我做的黑名单里的。图片说明 想实现的功能是点黑名单按钮,可以出现这个黑名单的Activity。通讯录做了一个Listview,点通讯录按钮,可以导入系统通讯录,然后设置点击监听,长按item可以发短信,点击可以打电话。

现在的问题是,无论是通讯录还是黑名单,一点按钮就报错,报错的内容就是空指针。不知道怎么解决。哭唧唧。

图片说明
这个是代码。无论尝试什么方法,都报错空指针。
package com.jinwen.pengu.communication;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class Stop extends Activity {
private ListView iv_main;
private BlackNumberAdapter adapter;
private BlackNumberDao dao;
private List data;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    iv_main = (ListView) findViewById(R.id.iv_main);
    adapter = new BlackNumberAdapter();
    dao = new BlackNumberDao(this);
    data = dao.getAll();
    iv_main.setAdapter(adapter);
}



public void add(View v){

}
class BlackNumberAdapter extends BaseAdapter{

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView ==null){
            convertView = View.inflate(Stop.this,android.R.layout.simple_list_item_1,null);
        }
        BlackNumber blackNumber = data.get(position);
        TextView textView = (TextView) convertView.findViewById(android.R.id.text1);
        textView.setText(blackNumber.getNumber());
        return convertView;
    }

}

}

错误: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
at com.jinwen.pengu.communication.Stop.onCreate(Stop.java:31)

3个回答

把其他java文件代码也发来看看,才好找错误

qq_39205783
qq_39205783 已经解决了。谢谢关注! 我又发了一个新问题!大神能帮忙看看嘛!
2 年多之前 回复

setContentView(R.layout.activity_main); 我这行代码写错了。
因为我这个不是Mainactivity

你把log发出来呗,到底是哪里crash了

libin67
githlb 应该是stop.java里面的listvie对象是空吧,你是不是没初始化就调用setAdapter方法
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问