我已DialogFragment
成功使用我的MainActivity
。它使用
doPositiveClick()
方法
((MainActivity)getActivity()).doPositiveClick()
到目前为止一切顺利,但现在我想重新使用与DialogFragment
相同的SecondActivity
。我已经尝试了上述代码的语法,但我仍然没有找到一种方法可以将MainActivity
替换为可以表示MainActivity
或SecondActivity
的内容,具体取决于DialogFragment
}。我有两个活动实现了与doPositiveClick()
的接口,但我还没有找到正确的语法来满足我的要求。
让我说清楚:我问一个是或否的问题。我可以调整上面的行,所以我不必在界面上涉及Listener
吗?是的,怎么样?如果不是,那么公平。
答案 0 :(得分:2)
接口是与片段进行通信活动的最佳实践(不相反)。 您可以让父活动实现您的界面,并使您的主动和第二活动孩子。所以你不需要实现。你可以覆盖这些方法。那么哪个活动构成了片段,那个活动覆盖方法将在片段调用时触发。我希望我真正了解你的问题并真正回答。有任何问题请评论。所以我可以通过评论回答,也可以编辑我的答案。
更新:只是是:)在您的片段onAttach方法中,您可以控制哪个活动创建此片段的实例。我希望这会让你满意。
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof MainActivity) ...
if (activity instanceof SecondActivity) ...
}