隐藏alerdialog加载后显示数据时Android延迟

时间:2016-10-31 08:43:59

标签: android retrofit delay loading android-alertdialog

我在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响应。

当你开始活动时出现“正在加载”,一切正常。但是当隐藏加载时,会显示一小段时间数据,几毫秒后突然出现。

我能解决吗?

感谢

0 个答案:

没有答案