Android 如何打开按钮上的滑动菜单';点击事件?

Android 如何打开按钮上的滑动菜单';点击事件?,android,onclick,slidingmenu,buttonclick,Android,Onclick,Slidingmenu,Buttonclick,我用这个实现了滑动菜单。现在,如果我在onCreate()方法中使用这段代码,它就工作得非常好 我的简单问题是如何在按钮的单击事件上打开滑块 我使用了以下代码 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC

我用这个实现了滑动菜单。现在,如果我在
onCreate()
方法中使用这段代码,它就工作得非常好

我的简单问题是如何在按钮的单击事件上打开滑块

我使用了以下代码

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final SlidingMenu menu = new SlidingMenu(this);

        Button mButton = (Button) findViewById(R.id.slidingMenu);
        mButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                menu.setMode(SlidingMenu.RIGHT);
                menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
                menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
                menu.setFadeDegree(0.5f);
                menu.attachToActivity(MainActivity.this,
                        SlidingMenu.SLIDING_CONTENT);
                menu.setMenu(R.layout.activity_menu);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

但当我点击一个按钮时,滑动菜单并没有打开。我没有得到任何错误。如何执行此操作?

您应该在单击侦听器之前设置菜单。在代码段中,每次单击按钮时都可以设置并附加菜单。但是,您应该只显示菜单,而不在单击时附加它

public class MainActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final SlidingMenu menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.RIGHT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
    menu.setFadeDegree(0.5f);
    menu.attachToActivity(MainActivity.this, SlidingMenu.SLIDING_CONTENT);
    menu.setMenu(R.layout.activity_menu);

    Button mButton = (Button) findViewById(R.id.slidingMenu);
    mButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
          menu.showMenu();
          //or 
          //menu.toggle();
        }
    });
 }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
  }

}

请尝试在按钮中单击“切换”()菜单。如果菜单未打开,它将打开该菜单……或者如果您只想打开菜单,而不想切换它,它将打开
menu.showMenu()
。您还应该将OnClickListener中的所有设置方法移到OnClickListener之外。但是如果我使用
菜单.showMenu
菜单.toggle()
,那么我会遇到类似
java.lang.IllegalStateException的错误:此滑动菜单似乎已经被附加在
菜单.showMenu
菜单.toggle()之后
我需要清除任何东西吗。@CodeError,链接已断开。@InnocentKiller先生。我已经修复了错误。这是一个小问题。这就是删除的原因。感谢您的关注(y)。快乐编码:)