android - 如何获得进度对话框,直到得到来自 android 服务的响应?

标签 android web-services response show progress

我正在实现一个从服务获取响应并显示到 View 的应用程序。我使用了两个 TextView 来从服务获取两种类型的响应。当我单击一个 TextView 时,我得到的响应非常晚这次 UI 挂起,我想在 View 中显示繁忙的进度对话框,当我收到响应时,我想关闭该进度对话框。我正在更新 View 以响应 ListView 。 我已经实现了如下代码:

 textView1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
waitProgreess = ProgressDialog.show(ShoutGetMsgsScreen.this, "Please wait", "Loading...");
 resultFromService = new ParseXml().convertMessages(new Model().getMessages("0"));
lst.setAdapter(new CustomeAdapter(ShoutGetMsgsScreen.this, resultShoutMessage));

    if(resultFromService .size()>5){

                    waitProgreess.dismiss();
                }
   }
        }); 

从上面的实现中,我如何显示进度对话框,当 View 更新时,我如何关闭进度对话框?

请任何人帮助我...

最佳答案

private class GetDATA extends AsyncTask<Void, Void, Void>
{
    ProgressDialog pd;
    @Override
    protected void onPreExecute() {
        pd = ProgressDialog.show(Activity.this, "", getString("loding..."), true, false);
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(Void... params) {


resultFromService = new ParseXml().convertMessages(new Model().getMessages("0"));
return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        if (pd != null && pd.isShowing())
            pd.dismiss();
        }

lst.setAdapter(new CustomeAdapter(ShoutGetMsgsScreen.this, resultShoutMessage));

    }
}

像这样打电话:-

(new GetDATA()).execute();

关于android - 如何获得进度对话框,直到得到来自 android 服务的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564133/

相关文章:

javascript - 在 WebView 中加载 YouTube 视频时全屏选项不可用

Java TCP连接

android - 某些样式在 TextView 中禁用 ImageSpan

java - 为 JAX-RPC Web 服务生成 JAX-WS 客户端 stub ?

android - Android 中的 ReCaptcha V2 响应错误 12008

java - 敌人生成 Android

linux系统发布WebService服务器故障

.net - 使用 SOAPClient 从 ASP 调用 ASP.NET Web 服务

javax.ws.rs.core.Response 以集合作为实体

node.js - 是否有可能做到这一点? (涉及解构和重新分配)