在任务完成之前阻止加载活动

时间:2014-04-22 10:30:17

标签: android

我有3项活动:

  1. MainActivity
  2. 活动A
  3. 活动B
  4. 用户可以在活动B中启动一个流程。我显示完成了一个通知助手,然后我回到MainActivity。

    但是我不希望用户能够在应用程序完成之前对应用程序执行任何操作,所以基本上 - MainActivity上有一个按钮,我希望在该过程完成之前禁用该按钮。 / p>

    无论如何,当他们点击按钮时检查通知栏是否仍然存在,或者无论如何检查异步任务是否仍在运行?

    由于

4 个答案:

答案 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
     }
}

更多信息:http://developer.android.com/reference/android/os/AsyncTask.html

答案 1 :(得分:0)

确定在asynctask中使用它

preExecute()

上的

button1.setEnabled(false);     
postExecute()

上的

button1.setEnabled(true);  

答案 2 :(得分:0)

使用Async Task你可以解决这个问题

答案 3 :(得分: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();
    }