首页 > 解决方案 > Glide 无法在 Dialog Listview 项 ImageView 项中显示图像 URL

问题描述

ListView显示带有图像的警卫列表。

用过Target, ImageViewTarget,DrawableImageViewTarget但都不起作用

ListView在对话框中显示

Dialog dialog = new Dialog(CameraActivityForCheckInOut.this);    
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
dialog.setContentView(R.layout.dialog_list);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));    
btnCloseDialog = dialog.findViewById(R.id.close_button);
listViewDialog = dialog.findViewById(R.id.list);    
btnCloseDialog.setOnClickListener(v -> {
stopAudio();
resumeFaceRecognition();
});    
Adapter adapter = new adapter(list);
listViewDialog.setAdapter(adapter);
setListViewHeightBasedOnChildren(listViewDialog);
dialog.setCancelable(false);
dialog.show();

ListView 适配器的getView()

    public View getView(final int position, View view, ViewGroup parent) {
            final ViewHolder holder;
            if (view == null) {
                holder = new ViewHolder();
                view = inflater.inflate(R.layout.list_row, null);
                holder.imageView = view.findViewById(R.id.Image);
                view.setTag(holder);
            } else {
                holder = (ViewHolder) view.getTag();
            }
            try {
                Person person = persons.get(position);
                try {
                    String url = person.getProfileURL();

 Glide.with(activity).load(url).centerCrop().placeholder(R.mipmap.person).fallback(R.mipmap.person).error(R.mipmap.person).into(holder.imageView);
                } catch (Exception e) {
                    e.printStackTrace();
                }   
            } catch (Exception e) {
                e.printStackTrace();
            }
            return view;
        }

listview在项目中显示图像ImageView

标签: androidandroid-listviewandroid-glidecustom-adapterlistview-adapter

解决方案


推荐阅读