android.it에서 tab + swipe 앱을 사용해도 문제가 없습니다. 두 번째 페이지에서 json으로 url의 데이터를 asyntask 메소드로로드하면 작업이 잘됩니다. 그러나 데이터로드시 progressbar를 보여줍니다. 문제는 첫 페이지에 진행률 대화 상자가 표시된다는 것입니다. 두 번째 페이지 만보고 싶습니다. 어떻게해야합니까?두 번째 페이지를 스 와이프하면 progressdialog를보고 싶습니까?
감사합니다,
EDIT 여기
는
공용 클래스 web_get_thread은 AsyncTask를 {
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)
}를 확장 내 코드입니다
당신이 우리에게 코드 snippits를 보여줄 수 : 위해서는 다음과 같이 그냥
onPageFinished()
을WebViewClient
를 구현하고onPageStarted
을 확장 할 수 있다는 할까? –asyntask 메서드 및 onpreexecute 메서드를 사용하여 백그라운드에서 수행합니다. url에서 데이터를로드 한 다음 progressdialog를 무시하고 실행합니다. 두 번째 조각이지만 대화 상자가 첫 번째 조각을 표시합니다. 단지 두 번째 페이지에만 해당됩니다. – user3086226
Daan이 질문을 편집하고 실제 코드 단편을 포함하도록 요청합니다. 주석에 코드를 설명하는 것만이 아닙니다. –