知道TargetFragment现在已被弃用,如何从DialogFragment调用片段的方法?
过去,我可以这样做:
父级碎片
DialogFragment dialog = new DialogFragment();
dialog.setTargetFragment(this, 0);
dialog.show(this.getSupportFragmentManager(), "tag");
对话框碎片
((ParentFragment) this.getTargetFragment()).myMethod();
这不再可能,因为目标碎片现已弃用。
我读到可以使用setFragmentResultListener()传递变量,但是如何从DialogFragment调用ParentFragment.myMethod()方法呢?
这是我找到的解决方案。
父级碎片
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getParentFragmentManager().setFragmentResultListener("result", this, new FragmentResultListener() {
public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle bundle) {
String action = bundle.getString("action");
if (action != null)
if (action.equals("myMethod"))
ParentFragment.this.myMethod();
}
});
}
对话框碎片
Bundle result = new Bundle();
result.putString("action", "myMethod");
this.getParentFragmentManager().setFragmentResult("result", result);
先生/女士,我想使用android JAVA将一个片段回调到另一个片段。我试图找到问题,但没有找到解决方案。若我使用接口,它会向活动发送回调响应,这是我不想要的。非常感谢。
问题内容: 我想从fragmentA调用FragmentB(Class)的方法,我试图通过在fragmentA(class)中创建fragmentb的对象来尝试,但是在这里它不起作用是该类中fragmentA的代码,我有一个方法可以通过FragmentB类的方法 我想称这个为fragmentB的方法 我尝试通过fragmentA方法编写此代码,但出现错误 问题答案: 试试这个解决方案:
问题内容: 我已经尝试了一段时间(同样,在这里搜索),当在其他片段中按下按钮时,它可以帮助我刷新MainFragment中的listView。Sommeone可以解释一下如何使其工作吗? 这是带有函数的MainFragment(我不包括其他函数,因为我看不到它们如何起作用): } 这是另一个片段: } 问题答案: 这段代码最适合我。似乎很容易
这是我完整的logcat: 在Android.support.v4.app.backStackRecord.doaddop(backStackRecord.java:414)在Android.support.v4.app.backStackRecord.replace(backStackRecord.java:449)在Android.support.v4.app.backStackRecord.
在我的中有5个片段(home、settings、newPost、notifications和profile)。 在中,我有一个,其中包含许多post视图,每个post都包含一个“open”按钮,该按钮应该打开一个。问题是,我只能在类和populateItemRows()方法中使用,所以当我不能使用... RecycerViewAdapter:
我试图通过活动中按钮的onclick事件将一个主片段替换为另一个片段,但该片段恰好悬停在主片段上。 这是我的密码