2012-04-25 77 views
0

我已经实现了一个下载器,当下载完成时,我需要在列表中显示上传。在分开的活动中列出我返回到下载完成时。从我从哪里进入活动,有什么方法可以检查吗?因为我需要更新列表,我不知道更新。我已经在onResume中试过了,但是在onCreate之后也是invokend,所以这并不能解决我的问题。Android - 勾选返回到活动

感谢

编辑:

我打电话下载这种方式:

    mProgressDialog.setTitle("Downloading"); 
        mProgressDialog.setMessage("Downloading data..."); 
        mProgressDialog.setIndeterminate(false); 
        mProgressDialog.setMax(100); 
        mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
        DownloadFilesTask downloadFile = new DownloadFilesTask(DownloaderMap.this); 
        downloadFile.execute(myUrl); 
        mProgressDialog.show(); 

回答

2

如果您在使用startActivityForResult()开始下载-活动,您将返回到onActivityResult()方法,您还可以在其中查看下载(或其他操作)是否成功(对此使用setResult())。

更新: 由于您使用的是AsyncTask,因此您可以在完成onPostExecute()-方法后,将任何需要运行的代码放入其中。如果您需要执行本地到Activity的方法,将AsyncTask作为Activity的内部类别可能是最简单的。

+0

谢谢,我会尝试。小问题是,我的下载活动是异步任务,所以我不会用startActivity()调用它... – Waypoint 2012-04-25 09:24:14

+0

请参阅我的更新 – Waypoint 2012-04-25 09:31:23

+0

@Waypoint:我明白了。 AsyncTask不是一个单独的'Activity',而是一个'Thread'的包装器,我会更新我的答案。请注意,为相关答案使用正确的术语非常重要;) – Jave 2012-04-25 09:41:01

0

如果我正确理解你的问题,你想知道如何告诉,从一个特定的活动,什么叫它?

我不确定是否还有其他解决方案,但我能想到的最简单的方法是在触发活动时添加额外的意图,然后在onCreate中读取。

例如构建你的意图时,你就会有一个线,如

newIntent.putExtra("callingActivity", this.getClass().getName()); 

,并在OnCreate你阅读了

this.getIntent().getStringExtra("callingActivity"); 
+0

嗨,谢谢,问题是当下载活动完成后,我将它从堆栈中删除(),所以我不再调用我的列表活动,所以我不能putExtra进入它恐怕:-( – Waypoint 2012-04-25 09:26:16