【问题标题】:Camera2 in FragmentPagerAdapterFragmentPagerAdapter 中的 Camera2
【发布时间】:2017-01-16 16:33:18
【问题描述】:

我正在尝试设置一个带有两个片段的 viewPager。我正在为 FragmentPagerAdapter 使用 v4 支持库,就像在 Android Studio 中的示例 Android Activity 中一样,它的外观是这样的:

public class SectionsPagerAdapter extends FragmentPagerAdapter {

    SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {

        switch (position){
            case 0:
                return FirstFragment.newInstance();
            case 1:
                return CameraFragment.newInstance();
            default:
                return null;
        }
    }

    @Override
    public int getCount() {
        // Show 2 total pages.
        return 2;
    }

}

我的问题是因为我尝试将 Google Camera2 示例实现为我的相机片段。这些 Fragment 是原生 Fragments,而 PagerAdapter 需要 support.v4.Fragments。

我曾尝试使用v13 FragmentPagerAdapter,但这不能使用v4.FragmentManager,而且它没有自己的FragmentManager。

我还尝试将 CameraFragment 转换为 v4 片段,但其中有一些代码无法编译为 v4 支持库。

我该如何解决这个问题?

【问题讨论】:

  • 你有没有设法解决这个问题?
  • 我决定以另一种方式实现它,但我可能决定稍后再回到这个实现,因为我认为我找到了解决方案。

标签: android android-fragments camera android-viewpager


【解决方案1】:

我相信我已经找到了解决此问题的方法,因为我遇到了同样的问题。请记住,我不是经验丰富的 Android 开发人员,因此我的解决方案可能存在缺陷,但是,我认为这可能对您有所帮助。 您的里程可能会有所不同

我将android.support.v13.app.FragmentPagerAdapter 与本机Android.app.FragmentAndroid.app.FragmentManger 一起使用。 V4 Support Library 用于此功能的其余相关导入。

导入

import android.app.Fragment;
import android.support.v13.app.FragmentPagerAdapter;
import android.app.FragmentManager;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;

我的其他 Fragments 采用与您帖子中描述的相同的设计。

备注

  1. 我已将compile 'com.android.support:support-v13:25.3.1' 构建依赖项添加到build.gradle 文件中。根据the docs,这是该库的最新构建依赖版本。您可以查看如何添加构建依赖项,in the docs
  2. 我认为,如果您使用本机 android.app.Fragment,建议您从 Fragment 扩展您将用于 ViewPagerActivity,但我的代码在从 FragmentActivity 扩展时似乎可以工作也是。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2012-06-21
    • 1970-01-01
    相关资源
    最近更新 更多