Salut les amis je ne peux pas comprendre comment faire cette méthode s'il vous plaît aidez-moi. J'utilise le retrofit pour le JSON parsing son fonctionnement bien quand les données sont là mais quand il n'y a pas de données dedans alors la réponse sera différente comme ci-dessous où quand j'utilise le Volley alors j'ai utilisé la méthode pour savoir que les données sont là ou non, mais je ne peux pas le faire dans la rénovationEn utilisant la méthode dans la rénovation
{
"messae": "No Friends Found",
"status": "failure"
}
mais Lorsque les données sont là, la réponse sera comme celui-ci
{
"friends": [
{
"username": "tester",
"user_id": "7",
"profile": "http://54.202.3.127/parallel_space/uploads/noimage.png",
"city": "kakinada",
"phone": "7894561231",
"status": "1"
},
{
"username": "tester",
"user_id": "9",
"profile": "http://54.202.3.127/parallel_space/uploads/http://54.202.3.127/parallel_space/uploads/pic-91488861905.jpg",
"city": "kakinada",
"phone": "7894561230",
"status": "1"
}
],
"status": "Success"
}
Main.class
public class Friend_request extends AppCompatActivity {
@BindView(R.id.frd_req_list)
RecyclerView frd_req_list;
FastItemAdapter<Friend_Request_adapter> friend_request_adapter = new FastItemAdapter<>();
@BindView(R.id.frd_req_toolbar)
Toolbar frd_req_toolbar;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.friend_requets);
ButterKnife.bind(this);
setSupportActionBar(frd_req_toolbar);
assert getSupportActionBar() != null;
getSupportActionBar().setTitle("Friend Request");
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
frd_req_list.setLayoutManager(new LinearLayoutManager(getApplicationContext(), LinearLayoutManager.VERTICAL, false));
frd_req_list.addItemDecoration(new Divider(this, LinearLayoutManager.VERTICAL));
frd_req_list.setAdapter(friend_request_adapter);
frdreq_method();
}
private void frdreq_method() {
Constant.showloader(Friend_request.this);
Retrofit frq_reqretrofit = new Retrofit.Builder().baseUrl(Constant.url).client(Constant.okClient()).addConverterFactory(GsonConverterFactory.create()).build();
Api fre_req_api = frq_reqretrofit.create(Api.class);
Call<Friend_Request_adapter> frq_req_call = fre_req_api.frdreqcall(Session.getUserID(getApplicationContext()));
frq_req_call.enqueue(new Callback<Friend_Request_adapter>() {
@Override
public void onResponse(Call<Friend_Request_adapter> call, Response<Friend_Request_adapter> response) {
Constant.l(String.valueOf(response));
List<Friend_Request_adapter> frdlistadapter = response.body().getFriends();
friend_request_adapter.add(frdlistadapter);
Constant.dismissloader();
}
@Override
public void onFailure(Call<Friend_Request_adapter> call, Throwable t) {
Constant.l(t.toString());
Constant.dismissloader();
}
});
}
}
A dapter.class (avec micro Penz adaptateur rapide)
public class Friend_Request_adapter extends AbstractItem<Friend_Request_adapter, Friend_Request_adapter.FriendRequest_ViewHolder> {
JsonObject frdreqbj;
@SerializedName("messae")
private String messae;
@SerializedName("status")
private String responsestatus;
@SerializedName("friends")
List<Friend_Request_adapter> friends;
@SerializedName("profile")
private String friendreq_pic;
@SerializedName("username")
private String frienduser_name;
@SerializedName("status")
private String friendstatus;
@SerializedName("user_id")
private String frduserid;
public String getMessae() {
return messae;
}
public void setMessae(String messae) {
this.messae = messae;
}
public String getResponsestatus() {
return responsestatus;
}
public void setResponsestatus(String responsestatus) {
this.responsestatus = responsestatus;
}
public JsonObject getFrdreqbj() {
return frdreqbj;
}
public void setFrdreqbj(JsonObject frdreqbj) {
this.frdreqbj = frdreqbj;
}
public List<Friend_Request_adapter> getFriends() {
return friends;
}
public void setFriends(List<Friend_Request_adapter> friends) {
this.friends = friends;
}
public String getFrduserid() {
return frduserid;
}
public void setFrduserid(String frduserid) {
this.frduserid = frduserid;
}
public String getFriendstatus() {
return friendstatus;
}
public void setFriendstatus(String friendstatus) {
this.friendstatus = friendstatus;
}
public String getFriendreq_pic() {
return friendreq_pic;
}
public void setFriendreq_pic(String friendreq_pic) {
this.friendreq_pic = friendreq_pic;
}
public String getFrienduser_name() {
return frienduser_name;
}
public void setFrienduser_name(String frienduser_name) {
this.frienduser_name = frienduser_name;
}
@Override
public int getType() {
return R.id.frd_req_list;
}
@Override
public int getLayoutRes() {
return R.layout.friend_request_item;
}
@Override
public void bindView(FriendRequest_ViewHolder holder, List<Object> payloads) {
super.bindView(holder, payloads);
holder.frd_req_item_name.setText(frienduser_name);
holder.frd_req_msg.setText("Online");
Picasso.with(holder.itemView.getContext()).load(friendreq_pic).into(holder.frd_req_img);
}
public static class FriendRequest_ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.frd_req_img)
CircleImageView frd_req_img;
@BindView(R.id.frd_req_item_name)
TextView frd_req_item_name;
@BindView(R.id.frd_req_msg)
TextView frd_req_msg;
@BindView(R.id.accept)
FancyButton accept;
@BindView(R.id.delete)
FancyButton delete;
public FriendRequest_ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
}
}
pouvez-vous essayer http://stackoverflow.com/questions/35502079/custom-converter-for-retrofit-2 – Raghunandan