>

항목을 선택할 때 업로드 된 이미지가 알림 대화 상자에 표시되기를 원합니다. 이 코드 줄 show_builder.setIcon(imageView);  나를 위해 작동하지 않습니다.

이 코드에서 내가 잃어버린 부분을 말씀해 주시겠습니까? 감사합니다.

다음은 내 코드 스 니펫입니다.

MainActivity.java

@Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
        Student selectedStudents = studentArrayList.get(position);
        final Uri image = selectedStudents.getUriImage();
        final String lastname = selectedStudents.getStudlname();
        final String firstname = selectedStudents.getStudfname();
        final String course = selectedStudents.getStudcourse();
        final ImageView imageView = new ImageView(this);
        imageView.setImageURI(image);
        options_builder.setTitle("Choose an option");
        String [] options = {"Show", "Edit", "Delete"};
        options_builder.setItems(options, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                switch (which){
                    case 0:
                        show_builder.setTitle(""+lastname+", "+firstname+"\n"+course);
//                        show_builder.setIcon(imageView); //this line of code is not working
                        show_builder.setNeutralButton("Okay", null);
                        AlertDialog show_dialog = show_builder.show();
                        show_dialog.show();
                        break;
                    case 1:
                        Intent toedit = new Intent(MainActivity.this, EditStudentActivity.class);
//                        toedit.putExtra("student", studentArrayList.get(which));
                        startActivity(toedit);
                    case 2:
                        studentArrayList.remove(position);
                        adapter.notifyDataSetChanged();
                        Toast.makeText(getApplicationContext(), "Item removed!", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });
        AlertDialog options_dialog = options_builder.show();
        options_dialog.show();
        return true;
    }


  • 답변 # 1

    ImageView 의 URL에서 이미지를 표시해야하는 경우 이미지로드 및 캐싱 라이브러리를 사용하는 것이 좋습니다. 잘 알려진 것들 중 일부는 글라이드와 피카소입니다.

  • 답변 # 2

    업데이트 : setImageURI는이 ImageView의 내용을 지정된 Uri로 설정합니다. 이 방법을 사용하면 로컬 Uri에서만 이미지를로드 할 수 있습니다.

    먼저, URI가 원격 URL이 아닌 로컬인지 확인하십시오.

    또한 UI 스레드에서 비트 맵 읽기 및 디코딩을 수행하므로 대기 시간 문제가 발생할 수 있습니다. 따라서 권장하지 않습니다.

    또한 setImageResource ()를 시도해보십시오;

    이미지보기를 설정하지 않았습니다.

    이것을 시도해보십시오

    options_builder.setView(imageView);
    
    

  • 이전 data structures - 자바 이진 트리 재귀 삽입
  • 다음 android - 각 항목 행에 대해 recyclerview에서 textview 값을 얻는 방법