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

时间:2015-01-30 15:18:13

标签: android android-activity android-fragments

我在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()。

1 个答案:

答案 0 :(得分:1)

这应该这样做:

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

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