마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

fragment(button) -> customdialog -> recyclerview -> adapter 에서 listener로 fragement에 값전달 오류 [closed]

0 추천

어댑터에서 리스너를 만들려고하는데 null오류인거같아서  customDialogListener_map을 찍어보니 null값이 뜹니다 다른예제들을 따라해봐도 해결을 못하고있는데 놓친점이있을까요? 

 

 

adapter에서

 

public class PostAdapter_map extends RecyclerView.Adapter<PostAdapter_map.PostViewHolder> {
private CustomDialogListener_map customDialogListener_map ;
public interface CustomDialogListener_map {
    void itemViewclick(String i);
}
public PostAdapter_map(Context context,CustomDialogListener_map customDialogListener_map){
        this.context = context;
        this.customDialogListener_map = customDialogListener_map; }

    class PostViewHolder extends RecyclerView.ViewHolder{
        public PostViewHolder(@NonNull View itemView) {
            super(itemView);

            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                String ee = "hi";
                customDialogListener_map.itemViewclick(ee);

}
}
}

fragment에서

PostAdapter_map postAdapter_map = new PostAdapter_map(getContext(), new PostAdapter_map.CustomDialogListener_map() {
            @Override
            public void itemViewclick(String i) {
                System.out.println(i);
            }
        });

 

 

오류

 

java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.delivery.adapters.PostAdapter_map$CustomDialogListener_map.itemViewclick(java.lang.String)' on a null object reference

 

질문을 종료한 이유: 재질문
maestro214 (140 포인트) 님이 2022년 1월 12일 질문
maestro214님이 2022년 1월 12일 closed
첫번째 이미지는 제대로 보이지가 않네요. 에디터에서 코드버튼을 누르셔서 코드를 붙여넣기 하시 면 보기좋게 입력이 됩니다.
수정했습니다  필요한 부분만 붙히다보니 문단이 짤렷네요
해당 코드만 봐서는 에러는 없어 보이는데요. 다른 곳에서 나는 에러로 보여요.

참고로
PostAdapter_map -> PostAdapter
CustomDialogListener_map -> CustomDialogListener
위처럼 사용하는 것이 자바의 올바른 Naming convention(명명규칙)입니다.
...