ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android-如何从其他片段类调用函数

2019-10-10 03:34:51  阅读:13  来源: 互联网

标签:android android-activity overflow fragment



我正在尝试将此函数称为public void arrowClick()

在我的主要片段内部,公共类CounterMain扩展了Fragment实现的View.OnClickListener {

该片段是android.support.v4.app.Fragment的扩展

我想从另一个Custmoe对话框片段中调用此函数

public class CustmoeDialog extends DialogFragment {

我尝试了((CounterMain)getActivity()).arrowClick();

但我不能使用它说android.support.v4.app.Fragment无法转换为my.example.CounterMain

CounterMain x = new CounterMain(); x.arrowClick();

当我调用它时,它使我的应用程序停止工作

有什么帮助吗?

解决方法:

您可以通过这种方式调用活动方法

((YourActivityClassName)getActivity()).yourPublicMethod();

从活动中,您可以通过这种方式直接致电

FragmentManager fm = getSupportFragmentManager();//if added by xml
YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentById(R.id.your_fragment_id);
fragment.yourPublicMethod();

如果您通过代码添加了片段,并且在添加片段时使用了标签字符串,请改用findFragmentByTag:

YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentByTag("yourTag");


标签:android,android-activity,overflow,fragment

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有