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

다이얼로그 실행시 에러가 발생합니다.

0 추천

 

diaryListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override

    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

        View dialogView;

        dialogView = inflater.inflate(R.layout.diary_dialog,container);

        AlertDialog.Builder dlg = new AlertDialog.Builder(getActivity());

        dlg.setTitle("사용자 정보 입력");

        dlg.setView(dialogView);



        sqlDB = diaryDB.getReadableDatabase();



        dlgTitle = (TextView)dialogView.findViewById(R.id.dlgTitle);

        dlgDiary = (TextView)dialogView.findViewById(R.id.dlgDiary);

        dlgImg = (ImageView) dialogView.findViewById(R.id.dlgimg);



        String title = diaryArrayList.get(position).getFood_text();

        android.util.Log.i("서비스",textPath + title + ".txt");

        String diary = readDiary(textPath + title + ".txt");

        dlgTitle.setText(title);

        dlgDiary.setText(diary);

        Bitmap bitmap = BitmapFactory.decodeFile

                (diaryArrayList.get(position).getFood_image()); // 경로의 파일을 bitmap으로 생성

        dlgImg.setImageBitmap(bitmap);

        sqlDB.close();



        android.util.Log.i("서비스","닫기 앞");

        dlg.setNegativeButton("닫기",null);

        android.util.Log.i("서비스","닫기 통과");



        dlg.show();

        android.util.Log.i("서비스","닫기 통과");

    }

});
오류나오는 부분 코드입니다. 글자수 제한때문에 잘랐습니다. 오류가 나는 부분이 리스트뷰를 클릭시 다이얼로그를 띄워서 보여주려 하는 dlg.show()부분입니다. 오류 내용은 다음과 같습니다.
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
removeView를 dialogView에 적용해보니 프래그먼트 자체가 이상해져서 어떻게 해결해야할지 모르겠습니다.. 과제로 만들어보는 프로그램이라 미숙한점 양해 부탁드립니다
shs 님이 2019년 6월 7일 질문
2019년 6월 7일 태그 변경

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...