【发布时间】:2015-06-19 16:42:46
【问题描述】:
我使用 jeremyfeinstein 创建菜单,如下所示: 导入android.app.Activity;
import com.e_campus.tesapp.R;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
public class Menu extends Activity {
public void setupMenu(){
SlidingMenu slidingMenu = new SlidingMenu(this);
slidingMenu.setMode(SlidingMenu.LEFT);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
slidingMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);
slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
slidingMenu.setFadeDegree(0.35f);
slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
slidingMenu.setMenu(R.layout.slide_menu);
}
}
之后,我在另一个类中调用了这个滑动菜单方法“setupMenu”:
public class C_News extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
setContentView(R.layout.activity_home);
TextView title = (TextView) findViewById(R.id.titlePage);
title.setText("News & Information");
Menu sliding = new Menu();
sliding.setupMenu();
}
}
但是,当我运行显示错误
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.content.res.Resources android.content.Context.getResources()'
【问题讨论】:
-
我认为从菜单类的 onCreate 中调用 setupMenu 方法会更好。那么你将永远不会有一个未初始化的 Menu 类。可能这也将解决您的空指针。
标签: android class methods menu sliding