아래와 같이 리사이클러뷰 어댑터의 onBindViewHolder에서 공공데이터포털의 오픈 API를 연동하였습니다.
 
새로운 프로젝트를 만들어 똑같은 코드를 사용했을 때는 별 문제 없이 결과값이 나왔지만  onBindViewHolder에서 사용하니 try catch의 예외문으로 null값이 나옵니다.
 
이유가 뭔지 아시는 고수분 계신가요?
 
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        holder.tv1.setText(mList.get(position).getStationNm());
        holder.tv_routId.setText(mList.get(position).getBusRouteId());
        holder.tv_seq.setText(mList.get(position).getSeq());
        busRouteId = mList.get(position).getBusRouteId();
        ord = mList.get(position).getSeq();
        holder.tv_routId.setText(busRouteId);
        holder.tv_seq.setText(ord);
        holder.tv3.setText(mList.get(position).getPlainNo());
        requestUrl =  "http://ws.bus.go.kr/api/rest/buspos/getLowBusPosByRouteSt?serviceKey="+dataKey+"&busRouteId=100100110&startOrd="+ord+"&endOrd="+ord;
        //"http://ws.bus.go.kr/api/rest/buspos/getBusPosByVehId?serviceKey=GiR2P0nFPyFyEt8y0fqQfpnAAr7tB9E%2BGV1rMbymFB4Y4CsNI5gON%2FVDs31BSgFwUUvqRVIvgXEKOUScetLEuQ%3D%3D&vehId=113062100";
        // http://ws.bus.go.kr/api/rest/buspos/getLowBusPosByRouteSt?serviceKey=GiR2P0nFPyFyEt8y0fqQfpnAAr7tB9E%2BGV1rMbymFB4Y4CsNI5gON%2FVDs31BSgFwUUvqRVIvgXEKOUScetLEuQ%3D%3D&busRouteId=100100110&startOrd=1&endOrd=75;
        try{
            boolean b_item = false;
            boolean b_plainNo = false;
            boolean b_vehId = false;
            boolean b_stopFlag = false;
            boolean b_busType = false;
            boolean b_lastStnId = false;
            boolean b_congetion = false;
            URL url = new URL(requestUrl); //검색 URL부분
            InputStream is = url.openStream();
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
            XmlPullParser parser = factory.newPullParser();
            parser.setInput(new InputStreamReader(is, "UTF-8"));
            int parserEvent = parser.getEventType();
            System.out.println("파싱시작합니다.");
            while (parserEvent != XmlPullParser.END_DOCUMENT){
                switch(parserEvent){
                    case XmlPullParser.START_TAG://parser가 시작 태그를 만나면 실행
                        if(parser.getName().equals("plainNo")){ //title 만나면 내용을 받을수 있게 하자
                            b_plainNo = true;
                        }
                        if(parser.getName().equals("vehId")){ 
                            b_vehId = true;
                        }
                        if(parser.getName().equals("stopFlag")){ 
                            b_stopFlag = true;
                        }
                        if(parser.getName().equals("busType")){ 
                            b_busType = true;
                        }
                        if(parser.getName().equals("lastStnId")){ 
                            b_lastStnId = true;
                        }
                        if(parser.getName().equals("congetion")){ 
                            b_congetion = true;
                        }
                        if(parser.getName().equals("message")){ //message 태그를 만나면 에러 출력
                            holder.tv2.setText(holder.tv2.getText()+"에러");
                            //여기에 에러코드에 따라 다른 메세지를 출력하도록 할 수 있다.
                        }
                        break;
                    case XmlPullParser.TEXT://parser가 내용에 접근했을때
                        if(b_plainNo){ 
                            plainNo = parser.getText();
                            b_plainNo = false;
                        }
                        if(b_vehId){                             vehId = parser.getText();
                            b_vehId = false;
                        }
                        if(b_stopFlag){ 
                            stopFlag = parser.getText();
                            b_stopFlag = false;
                        }
                        if(b_busType){ 
                            busType = parser.getText();
                            b_busType = false;
                        }
                        if(b_lastStnId){ 
                            lastStnId = parser.getText();
                            b_lastStnId = false;
                        }
                        if(b_congetion){ 
                            congetion = parser.getText();
                            b_congetion = false;
                        }
                        break;
                    case XmlPullParser.END_TAG:
                        if(parser.getName().equals("itemList")){
                            //holder.tv2.setText(holder.tv2.getText()+"주소 : "+ plainNo +"\n 충전기 타입: "+ vehId +"\n 충전소ID : " + stopFlag
                            //       +"\n 충전기 명칭 : " + busType +  "\n 충전기 상태 코드 : " + lastStnId+ "\n 충전 방식 : " + congetion + "\n");
                            holder.tv2.setText("나이스~!~!: "+plainNo);
                            b_item = false;
                        }
                        break;
                }
                parserEvent = parser.next();
            }
        } catch(Exception e){
            holder.tv2.setText("에러가..났습니다..." + e.getMessage());
            System.out.println("tryError :" + e.getMessage());
        }
}