从Fragments中获取数据 - Android

时间:2014-05-10 10:42:37

标签: android android-fragments android-fragmentactivity

我有ViewPager,其中包含5-6个片段。片段包含不同的输入字段。所以我想从一个事件的所有片段中获取数据,比如点击按钮。

我的想法是,我可以通过onPause将数据从片段发送到活动,对于未被破坏的片段,我可以调用一些片段的函数来获取数据和返回。

最好/最正确的方法是什么?更具体地说,当片段的视图被破坏时该怎么办?谢谢。

class MyActivity extends FragmentActivity{
    .........

    @Override
    protected void onCreate(Bundle savedInstanceState){
        ......
        ViewPager pager = .....
        pager.setAdapter(new MyAdapter(getSupportFragmentManager()));
        ...........
    }
}
class MyAadapter extends FragmentStatePagerAdapter{

    public MyAadapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public android.support.v4.app.Fragment getItem(int position) {
        android.support.v4.app.Fragment fragment= null;
        switch (position){
            case 0:
                fragment=new FragOne();
                break;
            case 1:
                fragment=new FragTwo();
                break;
            case 2:
                fragment=new FragThree();
                break;
            case 3:
                fragment=new FragFour();
                break;
        }
        return fragment;
    }

    @Override
    public int getCount() {
        return 4;
    }
}

1 个答案:

答案 0 :(得分:0)

不要认为视图寻呼机是您的最佳解决方案,因为您可以在片段之间滑动而无需输入任何数据。

我建议你制作自己的流程,显示片段A - 如果用户输入数据,在片段B旁边添加一些按钮,并使用数据等等传递包。直到最后一个片段。

在最后一个片段中添加按钮Finish(例如),然后通过回调将所有信息传递给活动。