우와테크

Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference 오류 본문

java-androidStudio

Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference 오류

uwaTech 2022. 5. 19. 16:06

카메라 연동은 했다.

찍은 사진을 미리보고 싶어서 ImageView에 넣고 싶은데 ImageView는 Fragment에 있다.

그래서 오류가 난다.

 

바로 이것.

 

imgView_item.setImageBitmap(bitmap);

여기서 오류가 난다.

 

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container,
                         @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_photo, container, false);
    
    ImageView imgView_item = (ImageView) view.findViewById(R.id.imgView_item);
    
    return view;
}

 

이유

: imgView_item는 viewHolder에 담겨있는데 무시하고 다시 정의하고 호출하였다.

 

 

 

 

해결

: viewHolder에 담겨있는 아이를 호출하자.

(PhotoAdapter.ViewHolder.imgView_item).setImageBitmap(bitmap);
public class PhotoAdapter extends RecyclerView.Adapter<AttachPhotoAdapter.ViewHolder> {

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public static ImageView imgView_item;
      
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            imgView_item = (ImageView) itemView.findViewById(R.id.imgView_item);
        }
    }
    
    
    ....중략....
}