例如,我对接收 Fragment 中的点击事件感到困惑,我应该将此点击事件传递到我的 Activity 还是在 Fragment 本身中处理它?</p>
我也在尝试在我的 Activity 中提供超过 1 个 fragment 的情况,例如, Activity 的平板电脑版本。
这也提出了我的另一个问题,我在我的 Activity 和我的 fragment 中创建了一个菜单,我应该在哪里检查
onOptionsItemSelected
在 Activity 或 fragment 中?
我很困惑我应该在哪里处理点击事件和菜单。
最佳答案
您可以在 fragment 内部或 Activity 本身处理点击事件,这取决于您要实现的目标。就像假设如果 onClick 事件做了一些由 fragment 本地处理的工作,那么你应该在 fragment 本身中处理它,但是如果 onClick 事件做了一些与其他 fragment 相关的工作(即同一 Activity 中包含的其他 fragment )那么您可能应该使用回调方法(监听器)让 Activity 处理点击事件。
例如。假设您有两个 fragment ,即 LogInFragment 和 LogOutFragment,并且在 Activity 中一次只显示一个 fragment 。然后假设 Activity 开始时您正在显示 LogInFragment,它有一个名为 Log In 的按钮。单击按钮时,您可以在 Activity 中处理 onClick 事件,以便它可以用 LogOutFragment 替换此 fragment 。
考虑另一种情况,假设在 LogInFragment 中单击“登录”按钮时,您只想将按钮的文本更改为“注销”,然后这可以在 fragment 本身内部处理,所以总体而言,只需考虑您要尝试的内容相应地实现和处理事件。
第二部分:onOptionsItemSelected() 方法放在 Activity 类中,它处理菜单项的点击。现在,如果您在 fragment 内使用另一个菜单,那么这个特定菜单项的点击/选择事件应该在 fragment 的类内处理,相当简单。
关于android - 在 Android 中,我应该在 fragment 或 Activity 中接收 fragment 点击事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31902812/