我在android上使用retrofit2。但我意识到我有一点问题。
我执行以下操作来拨打电话:
@Override
protected void onCreate() {
super.onStart();
if(pDialog == null) {
pDialog = new ProgressDialog(this);
}
pDialog.setMessage(getResources().getString(R.string.loading_dialog));
pDialog.show();
setEmptyData();
ApiInterface apiService = SingletonRetrofit.getClient().create(ApiInterface.class);
Call<MyResponse<User>> call = apiService.getUserJID(jid_contact_title);
call.enqueue(new Callback<MyResponse<User>>() {
@Override
public void onResponse(Call<MyResponse<User>> call, retrofit2.Response<MyResponse<User>> response) {
if(response.body() != null) {
User userdatos = response.body().getData();
if (response.code() == 200) {
nombre = userdatos.getNombre();
pais = userdatos.getPais();
telefono = userdatos.getTelefono();
url_foto = userdatos.getUrl_foto();
setData();
} else {
showErrorMessage();
setEmptyData();
}
}else{
showErrorMessage();
setEmptyData();
}
}
@Override
public void onFailure(Call<MyResponse<User>>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, "error a la M");
Log.e(TAG, t.toString());
}
});
}
private void setData(){
((TextView) findViewById(R.id.idtextusuario)).setText("casa");
((TextView) findViewById(R.id.idtextpais)).setText("prueba");
((TextView) findViewById(R.id.idtexttelefono)).setText("bien");
// ImageLoader.getInstance().displayImage(url_foto, (ImageView) findViewById(R.id.idimagecontact)); // Get singleton instance
pDialog.hide();
}
一切正常,但我有点拖延,我不想展示API响应。
当你开始活动时出现“正在加载”,一切正常。但是当隐藏加载时,会显示一小段时间数据,几毫秒后突然出现。
我能解决吗?
感谢