返回时,如何在活动上运行某个功能?

时间:2017-05-21 05:59:38

标签: android listview android-asynctask

我有一个执行AsyncTask onCreate()的应用程序。

AsyncTask从API获取电影详细信息,并将标题,海报和概述添加到列表视图中。 onPostExecute列表视图添加了适配器。

listView.setAdaptor(adaptorxx);

在AsyncTask完成并将适配器添加到listView之后,用户可以按下listView中的项目,然后将一些电影信息添加到另一个名为DetailsActivity的活动中。此活动显示有关电影的详细信息..此活动的功能是将电影添加到"观看列表"

现在:

如何才能让我在回到电影列表视图活动时,使用观看的电影列表更新列表视图?

我尝试了

listView.setAdaptor(null);
Adaptor adaptorxx = new Adaptor(xxx, xxxx, xxxx, xxxx);
listView.setAdaptor(adaptorxx);
创建onPause后onResume中的

,没有工作,我也尝试将它添加到onRestart但是没有工作

1 个答案:

答案 0 :(得分:0)

我向您展示StartActivityForResult

的示例

startActivityForResult()方法有两种变体。

public void startActivityForResult (Intent intent, int requestCode)  
public void startActivityForResult (Intent intent, int requestCode, Bundle options) 

以下示例

<强> ActivityOne

像这样传递你的意图

 Intent intent=new Intent(MainActivity.this,SecondActivity.class);  
                startActivityForResult(intent, 2);// Activity is started with requestCode 2  

然后添加onActivityResult,其中包含第二个活动的数据

// Call Back method  to get the Message from secondActivity  
    @Override  
       protected void onActivityResult(int requestCode, int resultCode, Intent data)  
       {  
                 super.onActivityResult(requestCode, resultCode, data);  
                  // check if the request code is same as what is passed  here it is 2  
                   if(requestCode==2)  
                         {  
                            String message=data.getStringExtra("MESSAGE");   
                            textView1.setText(message);  
                         }  
     }  

<强> ActivityTwo

如下所示传递意图,以便您可以在onActivityResult中获取意图对象并从中获取数据。

  Intent intent=new Intent();  
                    intent.putExtra("MESSAGE",message);  
                    setResult(2,intent);  
                    finish();//finishing activity  

注意:添加该数据后,您必须使用notifyDatasetChanged()方法来引用您的适配器。