support-v4.Fragment vs Fragment

时间:2015-09-22 17:03:35

标签: android android-fragments android-permissions

如果我支持SDK 15,我应该使用support-v4 Fragment代替Fragment吗?

我正在尝试使用FragmentSupport.shouldShowRequestPermissionRationale(this)并实施新的M权限模型,但它需要一个片段。

例如:

import android.support.v4.app.Fragment;

public class MyBaseFragment extends Fragment {

    public ... {
        if (FragmentCompat.shouldShowRequestPermissionRationale(this)){  // ERROR, needs Fragment not v4 Fragment
            ....
        }
    }

}

FragmentCompat:http://developer.android.com/reference/android/support/v13/app/FragmentCompat.html

3 个答案:

答案 0 :(得分:4)

如果您使用的是类似标签的布局(即ViewPager),则需要支持库。在" only"片段和minSDK 15,它们是不必要的。顺便说一句,使用支持库是好的,因为它不需要太多的努力,如果需要你可以稍后改变。您可以在此处阅读详细的documentation,以了解您的项目是否需要它。

答案 1 :(得分:1)

应该在任何地方使用

android.support.v4.app.Fragment而不是android.app.Fragment,因为后者在Android 9中已弃用。

答案 2 :(得分:0)

在API级别11中引入了

android.app.Fragment。如果你的minSDKVersion< 11然后,您必须使用android.support.v4.app.Fragment类来支持向后兼容性。如您所述,您的应用的API级别为15,您必须使用android.app.Fragment