2014-04-22 1 views
1

을 완료 : 사용자 활동 B.에서 프로세스를 시작할 수 있습니다방지 활동은 내가 3 개 활동이

  1. MainActivity
  2. 활동
  3. 활동 B

를 I 알림 도우미 % 완료 표시, 그리고 MainActivity로 돌아갑니다.

하지만 프로세스가 완료 될 때까지 사용자가 앱을 사용하지 못하도록하고 싶습니다. 기본적으로 MainActivity에는 프로세스가 완료 될 때까지 비활성화 할 버튼이 있습니다.

어쨌든 비동기 작업이 아직 실행 중인지 확인하기 위해 알림 표시 줄이 버튼을 클릭 할 때 여전히 나타나는지 확인하거나 어쨌든 확인해야합니까?

감사

+0

프로세스가 완료 될 때마다'비동기 작업 '의'onPostExec' 명령문이 통지 될 것입니다 ... –

+0

감사하지만 다른 활동에서 버튼을 비활성화 할 수 있습니까? – user3437721

+0

무엇을 의미합니까 ?? –

답변

0
private class DownloadStuff extends AsyncTask<Void, Void, Void> { 
    protected Void doInBackground(Void... params) { 
     // DO STUFF in Background 
     return null; 
    } 

    protected Void onPostExecute() { 
     // Disable Button 
    } 
} 

더 많은 정보를 원하시면 : AsyncTask를에 http://developer.android.com/reference/android/os/AsyncTask.html

+0

비활성화하려는 버튼은 MainActivity에 있지만 비동기 작업은 액티비티 B – user3437721

0

확인 사용이

preExecute() postExecute에

button1.setEnabled(false);  

(에

)

button1.setEnabled(true); 
+0

입니다.하지만 버튼이 다른 활동에 있는지가 중요합니다 ? – user3437721

+0

아니요, 각각의 활동 추측에서 ur asyntask 태스크를 호출해야합니다. u가 여기에 설정된 활동을 호출합니다. 도움이 될거야 –

0

같은 것을 사용하는 것이 생각 해결할 수 :

MainActivity.java를

MainActivity implements LoadingTaskFinishedListener 

@Override 
    public void onTaskFinished() { 
     myButton.setEnabled(true); 
    } 

..

public class Task extends AsyncTask<String, Integer, Integer> { 


    Actualite[] pages; 
    int i=0; 
    public interface LoadingTaskFinishedListener { 
     void onTaskFinished(); 
    }