Android 当我滑动第二页时,我想看到progressdialog?
我在android上有tab+滑动应用程序。工作正常。我用asyntask方法在第二个页面上用json从url加载数据,它也可以正常工作。但当它加载数据时,我会显示progressbar。问题是进度对话框出现在第一页。我只想看第二页。我该怎么做 谢谢 编辑 这是我的密码 公共类web_get_线程扩展异步任务{Android 当我滑动第二页时,我想看到progressdialog?,android,android-fragments,progressdialog,Android,Android Fragments,Progressdialog,我在android上有tab+滑动应用程序。工作正常。我用asyntask方法在第二个页面上用json从url加载数据,它也可以正常工作。但当它加载数据时,我会显示progressbar。问题是进度对话框出现在第一页。我只想看第二页。我该怎么做 谢谢 编辑 这是我的密码 公共类web_get_线程扩展异步任务{ private ProgressDialog progressDialog = new ProgressDialog(context); InputStream inputStream
private ProgressDialog progressDialog = new ProgressDialog(context);
InputStream inputStream = null;
String result = "";
protected void onPreExecute() {
progressDialog.setMessage("Loading data...");
progressDialog.show();
progressDialog.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface arg0) {
web_api_get_thread.this.cancel(true);
}
});
}
@Override
protected String doInBackground(String... params) {
StringBuilder builder = new StringBuilder();
try {
// Set up HTTP post
// HttpClient is more then less deprecated. Need to change to URLConnection
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(params[0]);
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} else {
// Log.e(ParseJSON.class.toString(), "Failed to download file");
}
} catch (UnsupportedEncodingException e1) {
Log.e("UnsupportedEncodingException", e1.toString());
e1.printStackTrace();
} catch (ClientProtocolException e2) {
Log.e("ClientProtocolException", e2.toString());
e2.printStackTrace();
} catch (IllegalStateException e3) {
Log.e("IllegalStateException", e3.toString());
e3.printStackTrace();
} catch (IOException e4) {
Log.e("IOException", e4.toString());
e4.printStackTrace();
}
// Convert response to string using String Builder
return builder.toString();
} // protected Void doInBackground(String... params)
protected void onPostExecute(String string) {
//parse JSON data
try{
JSONArray jArray = new JSONArray(string);
this.progressDialog.dismiss();
} catch (JSONException e) {
Log.e("JSONException", "Error: " + e.toString());
} // catch (JSONException e)
} // protected void onPostExecute(Void v)
}您可以在开始加载url时显示进度条,并在加载完成时使其不可见。为此,您只需实现
WebViewClient
并扩展onPageStarted
和onPageFinished()
,如下所示:
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap facIcon) {
mProgressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
mProgressBar.setVisibility(View.GONE);
}
});
你能给我们看一些代码片段吗?我使用asyntask方法和onpreexecute方法我显示progressdialog,在后台我从url加载数据,然后在执行post时我显示progressdialog,它工作正常,这在第二个片段中,但对话框出现在第一个片段中,第二页怎么办Daan要求你编辑你的问题并包含实际的代码片段。不只是在评论中描述代码。我编辑了我的问题,请不要放弃VoteTank你的答案,但我犯了一个很大的错误,我不加载webview我用get方法从url加载数据。很抱歉,我是年轻人,我编辑了我的问题,(阿里·卡尔德萨那邮件,阿塔比尔·米伊姆·索鲁努·德泰尔)