android - 为什么 v4 fragment 没有 startActivity(Intent, Bundle)?

标签 android android-appcompat

常规 fragment 具有此方法签名,但 v4 没有。我想我可以做getActivity().startActivity(Intent, Bundle),但我觉得这样改变一定是有原因的?

最佳答案

我在没有答案的情况下受到了反对票的驱使,所以我会发布我为其他人所做的事情。不确定它是否理想,但它确实有效。

我有一个扩展 v4.Fragment 的基类,我重新添加了缺少的方法。

abstract public class MyFragment extends Fragment {

    public void startActivity(Intent intent, Bundle bundle) {
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            getActivity().startActivity(intent, bundle);
        }
    }

    public void startActivityForResult(Intent intent, int requestCode, Bundle bundle) {
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            getActivity().startActivityForResult(intent, requestCode, bundle);
        }
    }
}

关于android - 为什么 v4 fragment 没有 startActivity(Intent, Bundle)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33175317/

相关文章:

android - 通过代码设置壁纸

java - 如何获取 google talk 聊天客户端的电子邮件(默认 IM)而不是公共(public) IM

android - 由 java.lang.RuntimeException : Missing type parameter 引起

android - 链接引用失败 - 在 appcompat 中找不到样式属性 '@android:attr/textColor'

android - 将 SearchView 与 AppCompatActivity 一起使用会导致 UI 故障

android - 我需要你的帮助,让 android studio 解决 gradle 错误

android - 如果我将 minAPI 设置为 21,我是否需要 AppCompat?

android - Android 5.0 及以上版本的 Asmack 登录问题

android - 找不到与给定名称匹配的资源 '@style/Theme.AppCompat.Light'

android - AppCompat 未显示操作栏