Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在片段中强制转换活动以从parentActivity调用方法是否安全?_Java_Android - Fatal编程技术网

Java 在片段中强制转换活动以从parentActivity调用方法是否安全?

Java 在片段中强制转换活动以从parentActivity调用方法是否安全?,java,android,Java,Android,在我的片段中,我从parentActivity调用了一个方法,该方法有一个带有FragmentStatePagerAdapter的ViewPager 我在一些帖子上读到,强制执行一个活动可能会导致错误,但因为我只有一个parentActivity来管理我的所有片段,我不明白为什么它会导致错误 片段中的方法调用 ((MainActivity) getActivity()).getSDCardAccess(); 父活动中的方法 public void getSDCardAccess(){ 意向意向

在我的片段中,我从parentActivity调用了一个方法,该方法有一个带有FragmentStatePagerAdapter的ViewPager

我在一些帖子上读到,强制执行一个活动可能会导致错误,但因为我只有一个parentActivity来管理我的所有片段,我不明白为什么它会导致错误

片段中的方法调用

((MainActivity) getActivity()).getSDCardAccess();
父活动中的方法

public void getSDCardAccess(){
意向意向=新意向(意向.行动\打开\文件\树);
startActivityForResult(意图、请求、外部访问);
}

由于只有一个
ParentActivity
处理应用程序中的所有片段,因此可以使用您提到的方法。但是我建议您使用接口来允许
Fragment
与它的
活动进行通信,否则这些类将被删除


如果您决定继续您的方法,请考虑<代码> GATAcVivie()/<代码>如果<代码>片段<代码>与<代码>上下文< /代码>关联。 如果你确信你的碎片只会被你的主要活动使用,我想没有问题…@diAz好的,谢谢你的澄清。我不确定,因为很多帖子似乎都不赞成使用角色扮演活动。但是,如果你计划在另一个活动中使用你的片段,那么使用界面似乎更有趣:不建议这样做,因为它会将你的

片段
与你的
活动
紧密地结合在一起-我的答案更详细