其他分享
首页 > 其他分享> > android – SlidingMenu:显示事件的第二个菜单

android – SlidingMenu:显示事件的第二个菜单

作者:互联网

我正在使用jfeinstein10的真棒库SlidingMenu.所以,一切都是正确的,但有一点.

我可以使用事件处理程序中的方法toggle()打开主菜单.但是我也希望在按钮点击等某些事件上打开二级菜单.

我做了类似的事情

SlidingMenu right = getSlidingmenu();
right.setSecondaryMenu(rightMenuView)

并且正在考虑做right.toggle();
但上面的第二个语句抛出NullPointerException.

编辑:发布onCreate

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    leftMenuView = inflater.inflate(R.layout.left_menu, null, false);
    rightMenuView = inflater.inflate(R.layout.right_menu, null, false);
    customActionBarView = inflater.inflate(R.layout.custom_actionbar,null);

    findAllViews();
    setFontAwesome();

    ab = getSupportActionBar();
    ab.setDisplayShowCustomEnabled(true);
    ab.setDisplayHomeAsUpEnabled(false);
    ab.setDisplayShowHomeEnabled(false);
    ab.setDisplayUseLogoEnabled(false);
    ab.setCustomView(R.layout.custom_actionbar);
    ivHome = (ImageView) findViewById(R.id.ab_home); 
    ivHome.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Log.d("TAG", "Tag");
            toggle();
        }
    });


    leftSlidingMenu = getSlidingMenu();
    leftSlidingMenu.setMode(SlidingMenu.LEFT_RIGHT);
    setBehindContentView(leftMenuView);
    leftSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    leftSlidingMenu.setBehindOffset(100);
    leftSlidingMenu.setFadeDegree(0.35f);

    rightSlidingMenu = getSlidingMenu();
            rightSlidingMenu.setSecondaryMenu(rightMenuView); //NPE Here
            rightSlidingMenu.toggle();  
}

知道如何在活动上打开二级菜单.谢谢

解决方法:

要显示第二个菜单,您可以使用:

getSlidingMenu().showSecondaryMenu(true);

布尔参数是动画标志.

标签:android,slidingmenu
来源: https://codeday.me/bug/20190723/1508887.html