【问题标题】:Fetching data from Fragements - Android从片段中获取数据 - Android
【发布时间】:2014-05-10 10:42:36
【问题描述】:

我有一个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;
    }
}

【问题讨论】:

  • 您想从片段中获取数据的按钮点击是片段的一部分还是一个活动?
  • @BirajZalavadia 活动
  • 所以你可以通过实现接口来做到这一点
  • 发布您的代码,以便我告诉您在哪里以及如何实现它
  • 添加了代码。 Fragment的代码是普通的。

标签: android android-fragments android-fragmentactivity


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多