Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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 如何在片段中使用onActivityResult()?_Java_Android_Android Fragments - Fatal编程技术网

Java 如何在片段中使用onActivityResult()?

Java 如何在片段中使用onActivityResult()?,java,android,android-fragments,Java,Android,Android Fragments,在我的应用程序中,我想使用InApplling来购买一些功能! 我将付款方式写入片段,但在显示付款对话框和按用户付款后,不会将任何数据显示到onActivityResult中! 我将log.e写入onActivityResult,但还是没有显示。 我认为不参加活动是结果 我的片段代码: 显示“付款”对话框,然后我付款,但在未进入“活动结果”之后 我把上面的代码写进activity中,它可以在ActivityResult上运行,但不会在ActivityResult上运行 如何修复它?实际上,结果会

在我的应用程序中,我想使用InApplling来购买一些功能! 我将付款方式写入片段,但在显示付款对话框和按用户付款后,不会将任何数据显示到onActivityResult中! 我将log.e写入onActivityResult,但还是没有显示。 我认为不参加活动是结果

我的片段代码:

显示“付款”对话框,然后我付款,但在未进入“活动结果”之后

我把上面的代码写进activity中,它可以在ActivityResult上运行,但不会在ActivityResult上运行


如何修复它?

实际上,结果会传递给活动的OnActivityResult,为了进入Fragment的方法,您需要将reult fron活动传递给Fragment,如下所示

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.frame);
    fragment.onActivityResult(requestCode, resultCode, data);
}
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Fragment mFragment = myPagerAdapter.getItem(mViewPager.getCurrentItem());
        if (fragment instanceof ServiccesFragment){
            ((ServiccesFragment)fragment).onActivityResult(requestCode, resultCode, data);
        }

    }
在片段中,调用它与您当前调用的相同

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

}
如果您使用的是ViewPager,您可以得到如下所示的片段

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.frame);
    fragment.onActivityResult(requestCode, resultCode, data);
}
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Fragment mFragment = myPagerAdapter.getItem(mViewPager.getCurrentItem());
        if (fragment instanceof ServiccesFragment){
            ((ServiccesFragment)fragment).onActivityResult(requestCode, resultCode, data);
        }

    }

可能是@prashant17的副本,我看到了这篇文章,但不知道如何修复它?你能帮我查一下上面的密码吗?请注册不是活动…谢谢亲爱的,我添加了你的代码,但没有找到servicesFragment!如何将id添加到片段?我用TabLayout和viewPager来显示片段你能帮我吗,我的朋友?您在吗?请检查编辑答案其R.id.frame非ServicesFrame。此框架是什么?对于显示片段,我使用viewPager,并在viewPager的适配器中设置此片段!在这个问题上,我如何修复它?请看我的答案,我已经做了更改