qq_39205783 2017-06-17 04:06 采纳率: 0%
浏览 4721

android 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)

  • 写回答

9条回答

  • lyj707107312 2017-06-17 06:08
    关注

    convertView = View.inflate(Stop.this,android.R.layout.simple_list_item_1,null); 这一行有问题,改为
    convertView = Layoutinflater.form(context).inflate(Stop.this,android.R.layout.simple_list_item_1,null);

    评论

报告相同问题?

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题