在由两个不同活动调用的 DialogFragment 中,对于这种情况,您如何转换回调用 activity?
In DialogFragment called by two different activities, how do you cast back to the calling activity for this case?
我有一个 DialogFragment
成功地使用了我的 MainActivity
。它使用
调用 activity 的 doPositiveClick()
方法
((MainActivity)getActivity()).doPositiveClick()
到目前为止一切顺利,但现在我想重新使用相同的 DialogFragment
和 SecondActivity
。我已经尝试了上面一行的语法,但我仍然没有找到一种方法来用可以表示 MainActivity
或 SecondActivity
的东西替换 MainActivity
,具体取决于哪个叫做 DialogFragment
.我有两个活动都使用 doPositiveClick()
实现了一个接口,但我仍然没有找到正确的语法来满足我的要求。
让我明确一点:我问的是是或否的问题。我可以调整上面的行,所以我不必在界面上涉及 Listener
吗?是的,怎么样?如果没有,很公平。
接口是与activity片段通信的最佳实践(不对)。
您可以只让父 activity 实现您的界面,并让您的 mainactivity 和 secondactivity 子。所以你不需要实施。您可以只覆盖这些方法。所以哪个 activity 制作片段, activity 覆盖方法将在片段调用时触发。我希望我真正理解你的问题并真正回答。有任何问题请评论。所以我可以通过评论回答,也可以编辑我的答案。
更新:是的:) 在您的片段 onAttach 方法中,您可以控制 activity 创建此片段的实例。希望这会让你满意。
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof MainActivity) ...
if (activity instanceof SecondActivity) ...
}
我有一个 DialogFragment
成功地使用了我的 MainActivity
。它使用
doPositiveClick()
方法
((MainActivity)getActivity()).doPositiveClick()
到目前为止一切顺利,但现在我想重新使用相同的 DialogFragment
和 SecondActivity
。我已经尝试了上面一行的语法,但我仍然没有找到一种方法来用可以表示 MainActivity
或 SecondActivity
的东西替换 MainActivity
,具体取决于哪个叫做 DialogFragment
.我有两个活动都使用 doPositiveClick()
实现了一个接口,但我仍然没有找到正确的语法来满足我的要求。
让我明确一点:我问的是是或否的问题。我可以调整上面的行,所以我不必在界面上涉及 Listener
吗?是的,怎么样?如果没有,很公平。
接口是与activity片段通信的最佳实践(不对)。 您可以只让父 activity 实现您的界面,并让您的 mainactivity 和 secondactivity 子。所以你不需要实施。您可以只覆盖这些方法。所以哪个 activity 制作片段, activity 覆盖方法将在片段调用时触发。我希望我真正理解你的问题并真正回答。有任何问题请评论。所以我可以通过评论回答,也可以编辑我的答案。
更新:是的:) 在您的片段 onAttach 方法中,您可以控制 activity 创建此片段的实例。希望这会让你满意。
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (activity instanceof MainActivity) ...
if (activity instanceof SecondActivity) ...
}