Android 从片段中引用 MainActivity 的实例变量



我的主活动中设置了一个导航抽屉,我想从片段访问它。

NavigationDrawerFragment.java
public void updateDrawer() {
..setAdapter(...);
}

MainActivity.java
public NavigationDrawerFragment mNavigationDrawerFragment;

Fragment_Login.java
(inside some function)...
MainActivity.this.mNavigationDrawerFragment.updateDrawer();
...

您可以看到,我想在从登录片段登录后更新导航抽屉视图。但是,除非我能够引用 MainActivity 实例,否则我无法进行调用。调用 MainActivity.this 会引发编译错误:

...MainActivity is not an enclosing class

无论如何要绕过这个?我也尝试过getActivity()。

这应该可以做到:

((MainActivity)getActivity).mNavigationDrawerFragment.updateDrawer();

但不是最好的方法,你应该看看接口

最新更新