java – Attempt to invoke virtual method ‘void com.example.zebraexample.RFIDHandler.onPause()’ on a null object reference

I am working with a RFID Reader which reads RFID and display it on a ListView which has Edittext and Textview for its content. I am not very familiar with ListView logic.

What I want to is I want to set a onClickListener on Edittext and it will pause the RFID reader and change it back to barcode reader. The pause function is called with onPause() and barcode changing function is called onScanner().

Code for listViewholder:

 @Override
public View getView(int position, View convertView, ViewGroup arg2) {
    final ViewHolder holder;
    convertView=null;
    if (convertView == null) {
        holder = new ViewHolder();
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflater.inflate(R.layout.listadapter, null);
        holder.textview = (TextView) convertView.findViewById(R.id.txtviewdata);
        holder.textview.setTag(position);
        holder.textview.setText(list.get(position).toString());
        holder.caption = (EditText) convertView.findViewById(R.id.location);
        holder.caption.setTag(position);
        convertView.setTag(holder);

        holder.caption.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rfidHandler.onScanner();
                rfidHandler.onPause();
            }
        });

    }else {
        holder = (ViewHolder) convertView.getTag();
    }
    int tag_position=(Integer) holder.caption.getTag();
    holder.caption.setId(tag_position);

Code for onPause:

 void onPause() {
    disconnect();
}

 void onScanner() {
    connectScanner();
}

Please help, thank you very much.