2017-05-21 5 views
0

私は、AsyncTask onCreate()を実行するアプリケーションを持っています。アクティビティに戻ったときにそのアクティビティに対して関数を実行するにはどうすればよいですか?

AsyncTaskは、APIからムービーの詳細を取得し、タイトル、ポスター、および概要をリストビューに追加します。 onPostExecuteは、リストビューをアダプタで追加します。 AsyncTaskが終了した後

listView.setAdaptor(adaptorxx); 

、それはユーザーがDetailsActivityと呼ばれる別のアクティビティになり、その後putExtraいくつかの映画情報のListViewの項目を押すことができ、リストビューにアダプタを追加します。この活動は、映画についての詳細を示して...この活動上の機能は、「見たリスト」NOW

ムービーを追加することです:

私は映画のリストビューの活動に戻ったときにように私はそれを行うことができますどのように、リストビューは監視されたムービーリストで更新されますか?

私は、onPauseを作成した後onResumeで

listView.setAdaptor(null); 
Adaptor adaptorxx = new Adaptor(xxx, xxxx, xxxx, xxxx); 
listView.setAdaptor(adaptorxx); 

を入れてみました動作しませんでした、私もonRestartに追加しようとしたが、それは

+1

[StartActivityforResult](https://developer.android.com/training/basics/intents/result.html)が必要です。 –

+0

あなたは1)startActivityforResultまたは2)インターフェイスリスナを使用することができます –

答えて

0

いずれも動作しませんでした、私はあなたに例を示していますStartActivityForResult

startActivityForResult()メソッドには2つのバリエーションがあります。

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 

のようなあなたの意図を渡すあなたがセカンド活動

// 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); 
         } 
    } 
からデータを得たところ次に onActivityResultを追加します。以下のような

ActivityTwo

パスの意図あなたはonActivityResultに意図オブジェクトを取得し、そこからデータを取り出すことができるように。

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

注:あなたがnotifyDatasetChanged()メソッドを使用して、アダプタをrefereshする必要があり、そのデータを追加した後。

関連する問題