如何从Fresco的SimpleDraweeView中获取图像URL?

时间:2018-11-30 05:00:19

标签: android url fresco imageurl

Fresco SimpleDraweeView 获取图像URL。

我有带有EditText和SimpleDraweeView的recyclerView项目,也有我活动上的按钮。单击按钮后,我想将整个recyclerview项目数据放入ArrayList。

这是在单击按钮时编写的代码,我成功获取了SimpleTexteeView URL之外的editText数据。

        ArrayList<ContactUs> getContactUsArrayList = new ArrayList<>();
    for (int i = 0; i < getContactUsArrayList.size(); i++) {
        View view = rvContact.getChildAt(i);
        EditText etName = (EditText) view.findViewById(R.id.etName);
        EditText etMobile = (EditText) view.findViewById(R.id.etMobile);
        SimpleDraweeView sdvImage = (SimpleDraweeView) view.findViewById(R.id.sdvImage);

        String strName = etName.getText().toString();
        String strNumber = etMobile.getText().toString();
        String strImgUrl = ""; //what is the property?


    }

从SimpleDraweeView获取URL的属性是什么?

3 个答案:

答案 0 :(得分:0)

您必须像这样解析图片网址。

SimpleDraweeView simpleDraweeView = 
(SimpleDraweeView)findViewById(R.id.simpleviewid);

Uri imageuri = Uri.parse("YOUR IMAGE URL");
simpleDraweeView.setImageURI(imageuri);

请确保在setContentView()之前初始化壁画,并且simpleDraweeView的XML文件中的宽度和高度不得包含换行内容。试试这个。

对我有用。

答案 1 :(得分:0)

我理解您的问题,但是没有任何属性可以获取String形式的图像,但是您可以通过以下方式实现此目的。我假设您是否在布局中正确设置了图像。

Drawable drawable = draweeView.getBackground();
        Bitmap bitmap = draweeView.getDrawingCache();
        Drawable drawable1 = draweeView.getHierarchy().getTopLevelDrawable();

希望有帮助。

答案 2 :(得分:0)

我得到了基于答案和评论的解决方案

我做了什么

替换此代码

        ArrayList<ContactUs> getContactUsArrayList = new ArrayList<>();
    for (int i = 0; i < getContactUsArrayList.size(); i++) {
        View view = rvContact.getChildAt(i);
        EditText etName = (EditText) view.findViewById(R.id.etName);
        EditText etMobile = (EditText) view.findViewById(R.id.etMobile);
        SimpleDraweeView sdvImage = (SimpleDraweeView) view.findViewById(R.id.sdvImage);

        String strName = etName.getText().toString();
        String strNumber = etMobile.getText().toString();
        String strImgUrl = ""; //what is the property?


    }

使用此代码

   ArrayList<ContactUs> getContactUsArrayList = new ArrayList<>();
    ContactUs contactUs;
    for (int i = 0; i < getContactUsArrayList.size(); i++) {
        contactUs = getContactUsArrayList.get(i);//Here i got whole object.
        String strName = contactUs.getUserName();
        String strNumber = contactUs.getUserMobile();
        String strImgUrl=contactUs.getImagePath();

    }