【Android Studio】【Java】在BaseAdapter中使用map函数报错,空指针,NullPointerException 。如何解决?

问题遇到的现象和发生背景

这是我几年前写的app,现在需要从重新用上,但是加载进Studio里之后多了写本来没有的bug。

问题相关代码,请勿粘贴截图


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


import com.example.nero.thecashregistersystem.R;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class CartAdapter extends BaseAdapter {

    private Context context;
    private List<HashMap<String, String>> dataList ;

    private ViewHolder vh;
    private Map<String, Integer> pitchOnMap;
    private RefreshPriceInterface refreshPriceInterface;

    public CartAdapter(Context context, List<HashMap<String, String>> list){
        this.context=context;
        this.dataList=list;
    }

......
//一下是报错的代码
if(pitchOnMap.get(dataList.get(position).get("goods_number"))==0)
                vh.checkBox.setChecked(false);
            else vh.checkBox.setChecked(true);

运行结果及报错内容

java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.Map.size()' on a null object reference
at com.example.nero.thecashregistersystem.Adapter.CartAdapter.getView(CartAdapter.java:75)

//CartAdapter.java:75:
if(pitchOnMap.get(dataList.get(position).get("goods_number"))==0)

我的解答思路和尝试过的方法

datalist不为空 datalist.get(position)不为空
(dataList.get(position).get("goods_number")不为空
空指针:pitchOnMap.get(dataList.get(position).get("goods_number"))
尝试过pitchOnMap.size() 、pitchOnMap.isEmpty() 、pitchOnMap.containKey() 都报了空指针NullPointerException

我想要达到的结果

T_T 解决空指针

空指针还能有啥疑问,就是没有初始化呗,你是在哪给pitchOnMap赋值的?