새 활동을 시작하면 내 progressDialog가 바로 나타나지 않습니다. 같은 AsyncTask를 사용하고 있습니다. 다음 활동에서 웹 서비스의 데이터를로드하고 있습니다.진행률 대화 상자가 바로 나타나지 않습니다.
ourdepbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new TheTask(AboutUs.this.getParent()).execute();
}
});
어떤 제안 :이 클래스 버튼의 onclick의 인스턴스를 생성하고
private class TheTask extends AsyncTask<Void, Void, Void>{
Context con;
Intent aboutusIntent;
TabGroupActivity parentActivity;
private TheTask(Context context)
{
this.con=context;
}
@Override
protected void onPreExecute() {
progDialog = ProgressDialog.show(con, "Loading... ",
"please wait....", true);
}
@Override
protected Void doInBackground(Void... params) {
aboutusIntent = new Intent(con, Departments.class);
parentActivity = (TabGroupActivity)getParent();
//progDialog.show();
return null;
}
@Override
protected void onPostExecute(Void result) {
parentActivity.startChildActivity("Departments", aboutusIntent);
if(progDialog.isShowing())
{
progDialog.dismiss();
}
}
}
: 다음은 내 비동기 클래스?
감사합니다 Javanator.Il 시도해보십시오. – Nitish
이 응용 프로그램에서 탭 그룹을 사용하고 있습니다. 그렇다면 이것과 관련이 있습니까? 왜냐하면 내가 doInBackground()에 startActivity를 배치하면 progressDialog가 나타나지만 균열이 충돌하기 때문입니다. 나는 FutureTaskError를 만난다. – Nitish
이 것은 탭 그룹과 아무 관련이 없습니다. 모든 시각적 효과는 Main Thread에서만 제어됩니다. 단일 스레드는 페치를하거나 대화 상자에서 진행 상황을 보여줄 수 있습니다. 기본적으로 Handler 클래스가이 용도로 사용됩니다. 내가 붙여 넣은 코드는 모든 프로젝트에서 사용했으며 Dialogs를 사용하여 가져 오기 진행 상황을 보여주기 위해 최선을 다하고 있습니다. Main thread를 제외한 thread가 시각적 효과를 구현하려고하고있는 경우. 이것은 예외가있는 응용 프로그램을 크래시합니다 – Javanator