如何从另一个class调用方法滑动菜单?

How to call method sliding menu from another class?

我使用 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" 我调用了另一个 class 比如:

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()'

您可以在其他活动中重复使用

public class Menu {

public static void setupMenu(Context context){
    SlidingMenu slidingMenu = new SlidingMenu(context);
    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(context, SlidingMenu.SLIDING_CONTENT);
    slidingMenu.setMenu(R.layout.slide_menu);
}

}