Aktualisieren von Fragmenten aus der Aktivität in einem ViewPager

Ich bin neu in der Android-Entwicklung und würde mich sehr über Hilfe freuen.

Ich verwende ein Fragment, das eine TextView enthält, und ich verwende 5 Instanzen derselben MyFragment-Klasse.

In der Aktivität habe ich eine Schaltfläche und einen ViewPager, und ich brauche die Schaltfläche, um den gesamten Inhalt der Fragmentinstanzen zu aktualisieren, wann immer darauf geklickt wird.

Hier ist die Aktivität

public class MainActivity extends FragmentActivity {

final static String[] CONTENT = {"a", "b"};
ViewPager pager;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    List<MyFragment> fragments = new Vector<MyFragment>();
    for(int i = 0; i < 5; i++){
        MyFragment fragment = new MyFragment(CONTENT);
        fragments.add(fragment);
    }
    PagerAdapter adapter = new PagerAdapter(this.getSupportFragmentManager(), fragments);
    pager = (ViewPager) findViewById(R.id.viewpager);
    pager.setAdapter(adapter);

    Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //method that isn't working
            PagerAdapter adapter = (PagerAdapter)pager.getAdapter();
            for(int i = 0; i < 5; i++){
                MyFragment fragment = (MyFragment) adapter.getItem(i);
                fragment.textView.setText(fragment.content[1]);
            }
        }
    });
}
}

Das Fragment

public class MyFragment extends Fragment{

String[] content;
    TextView textView;

public MyFragment(String[] content) {
    this.content = content;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_content, container, false);
    textView = (TextView) view.findViewById(R.id.textView1);
    textView.setText(content[0]);
    return view;
}

}

Und der FragmentPagerAdapter

public class PagerAdapter extends FragmentPagerAdapter{

List<MyFragment> fragments;

public PagerAdapter(FragmentManager fm, List<MyFragment> fragments) {
    super(fm);
    this.fragments = fragments;
}

@Override
public Fragment getItem(int arg0) {
    return fragments.get(arg0);
}

@Override
public int getCount() {
    return fragments.size();
}

}

Die OnClick-Methode gibt mir eine NullPointerException, wenn ich versuche, auf ein Fragment vom Adapter zuzugreifen, das kleiner als adapter.getCurrentItem () - 1 oder größer als adapter.getCurrentItem () + 1 ist.

Haben Sie eine Idee, wie Sie alle Fragmente gleichzeitig aktualisieren können?

Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage