일부 응용 프로그램을 업데이트해야합니다. 이미 사용 중이므로 큰 변경을 원하지 않습니다 ...이미 완성 된 앱에 progressDialog 또는 회 전자를 추가하려면 어떻게해야합니까?
새 활동이로드 될 때마다 진행 대화 상자 또는 회 전자를 추가하고 싶습니다. AsyncTask 등을 사용해야하는 것처럼 몇 가지 기사와 질문을 읽었습니다. 그러나 더 쉬운 방법이 있는지 알고 싶습니다. 새로운 레이아웃이로드 될 때까지 spinner/progressDailog를 보여줄 함수를 만드는 것과 같은 것일지도 모릅니다.
내가 원하는 것을 알고 있다면 가능한지 말해 줄 수 있습니까? 감사합니다
편집 : 하나의 아이디어가 있습니다. 현재 레이아웃을 오버레이 할 수있는 스피너가있는 레이아웃을 만들 수 있습니까? 그렇다면 어떻게?
편집이 : AsyncTask를
private ProgressDialog progressDialog;
@Override
protected void onPreExecute(){
progressDialog = new ProgressDialog(mContext);
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.show();
}
// Some code here
@Override
protected void onPostExecute(CustomAsyncTaskResult<User> result) {
progressDialog.dismiss();
((LoginActivity)mContext).getResult(result);
}
좋아요, asynctask를 사용했는데 진행 대화 상자가 표시되고 dissapeared되었지만 새 레이아웃이 cca 5 초 후에 표시되었습니다. 어떻게해야합니까? 코드는 질문에 표시됩니다. – kristyna
@ user3808179이 이유는'doInBackground' 메소드에서 초기화를해야하기 때문입니다. 현재 asynctask는 실제로 비동기 적으로 아무것도하지 않습니다. 심각한 리팩토링 없이는 벗어날 수 없습니다. 액티비티를 초기화하는 방식을 변경해야합니다. 즉, asynctask에서 대부분의 초기화 작업을 변경해야합니다. –
오해의 여지가 있습니다 ... doInBackgroud() 메소드가 있습니다. 그러나이 방법 중 일부 코드도 있습니다. 진행 대화 상자가 곧 사라지는 이유는 그 때문입니까? – kristyna