【发布时间】:2023-03-17 21:40:02
【问题描述】:
我收到一个 JSON 响应,其中显示了我的图像路径,但我不能直接使用改造从它的路径加载图像。
这是 JSON 输出示例:
{
"Emp_Photo": "/Images/2018_07_02_05_30_24.jpg",
}
我尝试获取 Emp_Photo 的值并将其存储到字符串中,并使用 picasso 将字符串加载到 imageview 中,但它不起作用。
这是我正在尝试完成的部分代码:
final ProgressDialog progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Fetching Data...");
progressDialog.show();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ApiClient.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Fetchemployeedetailsinterface service = retrofit.create(Fetchemployeedetailsinterface.class);
//Result is our pojo class
SharedPreferences settings = getActivity().getSharedPreferences("PREFS_NAME", 0);
String emailtoken= settings.getString("email", "").toString();
Call<ResponseData> call = service.Bind_Employee_Details_Based_On_Id(emailtoken);
call.enqueue(new Callback<ResponseData>() {
@Override
public void onResponse(Call<ResponseData> call, Response<ResponseData> response) {
//.getMessage is POJO method to listen for final json output
List<MessageItem> listResponse =response.body().getMessage();
String fname=listResponse.get(0).getEmpFirstName();
String lname=listResponse.get(0).getEmpLastName();
String email=listResponse.get(0).getEmpEmail();
String address=listResponse.get(0).getEmpAddress();
String joindt=listResponse.get(0).getJoiningDate();
String imgaddress=listResponse.get(0).getEmpPhoto();
Picasso.with(getActivity()).load(imgaddress).into(pick);
ettvname.setText(fname+"-"+lname);
etfname.setText(fname);
etlname.setText(lname);
etemail.setText(email);
etaddress.setText(address);
etjoindt.setText(joindt);
progressDialog.dismiss();
}
@Override
public void onFailure(Call<ResponseData> call, Throwable t) {
progressDialog.dismiss();
Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_LONG).show();
}
});
【问题讨论】:
标签: android json image retrofit picasso