用Web服务响应更新ViewPage的片段



我是FragmentActivity, Fragment和ViewPager的新手。

我使用FragmentActivity与2片段。

每个片段都使用相同的数据,我将从AsyncTask中的web服务调用中获得。

现在我不想为每个片段调用两次Web服务。

我的想法是在FragmentActivity中使用AsyncTask从Web服务中获取数据;然后通知FragmentAdapter已经接收到数据。因此,适配器应该相应地更新两个Fragment的视图。

但我被如何实现这一目标所困扰。如果有人给我指路或举一些这样的例子,那就太好了。谢谢。

在后台启动一个任务,当收到结果时,像这样通知fragment

package com.example.myapplication2;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.ActionBarActivity;
public class MainActivity3 extends ActionBarActivity {

    private FragmentManager fragManager;
    private Fragment fragOne,fragTwo;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    fragManager = getSupportFragmentManager();
    if((fragOne=fragManager.findFragmentById(R.id.frag_one))==null){
        fragOne = new FragOne();
        fragManager.beginTransaction()
                .add(R.id.container, fragOne )
                .commit();
    }
    if((fragTwo=fragManager.findFragmentById(R.id.frag_two))==null){
        fragTwo = new FragTwo();
        fragManager.beginTransaction()
                .add(R.id.container, fragTwo)
                .commit();
    }
    startTaskInBackground();
    }

    @Override
    public void onTaskComplete() {
    fragOne.onDataReceived();
    fragTwo.onDataReceived();
    }

}

相关内容

  • 没有找到相关文章

最新更新