从 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的属性是什么?
答案 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();
}