我正在开发一个Android应用程序,我想在片段中使用工具栏和导航抽屉。我创建了一个名为 Supportclass 的内部类,然后在 onCreateView 方法中使用名为 setUptoolbar 的方法,但是我遇到了异常错误。 你觉得我应该怎么做?提前谢谢,抱歉我的英语不好。 :)
片段代码:
location / {
proxy_pass http://$app_upstream$uri;
}
这是错误: java.lang.NullPointerException:尝试在空对象引用上调用虚方法'android.view.Window $ Callback android.view.Window.getCallback()'
答案 0 :(得分:1)
你的做法完全错了。您可以在不定义扩展活动的新类的情况下执行此操作。您始终可以通过getActivity ()
参考基础活动。即使您想保留引用,也只需使用MainActivity a = (MainActivity) getActivity ()
,假设您的片段已附加到MainActivity
。然后在a
上操作。您正在使用
SupportClass supportClass = new SupportClass();
使用Context.startActivity(Intent intent)
开始活动。看来你不打算开始新的活动。您只想更改基础活动的属性。所以正如我上面所说的那样
MainActivity a = (MainActivity) getActivity ()
并与a
一样玩a.setSupportActionBar ()
。
答案 1 :(得分:0)
您使用的是错误的层次结构。正确的方法是:
活动 - >包含您的工具栏,抽屉和片段持有者(例如 框架布局或viewpager)
现在,如果你想从片段中的某个动作打开抽屉,你必须在片段中添加抽象事件监听器,它将由activity实现。
请参阅github上的此快速链接了解更多信息:http://guides.codepath.com/android/fragment-navigation-drawer