Android 单击滑动抽屉处理程序执行操作

Android 单击滑动抽屉处理程序执行操作,android,android-3.0-honeycomb,slidingdrawer,Android,Android 3.0 Honeycomb,Slidingdrawer,在我的应用程序中,我只想在数据不为null时填充滑动绘图。 所以,当用户按下滑动抽屉处理程序时,它应该给出一个对话框数据为空,并且滑动抽屉不应该打开 我试过Handler.setOnTouchListener,但只要出现一个称为触摸事件的对话框,就会发生这种情况 有什么建议吗?你应该看看这个方法 创建您自己的并使用它检查数据是否为空-如果为空,请再次关闭抽屉: private class OnDrawerOpened implements OnDrawerOpenListener { @Ov

在我的应用程序中,我只想在数据不为null时填充滑动绘图。 所以,当用户按下滑动抽屉处理程序时,它应该给出一个对话框数据为空,并且滑动抽屉不应该打开

我试过Handler.setOnTouchListener,但只要出现一个称为触摸事件的对话框,就会发生这种情况


有什么建议吗?

你应该看看这个方法

创建您自己的并使用它检查数据是否为空-如果为空,请再次关闭抽屉:

private class OnDrawerOpened implements OnDrawerOpenListener {
  @Override
  public void onDrawerOpened() {
    if( data == null )
      mySlidingDrawer.close();
  }
}
您需要一个对SlidingDrawer的引用,并且需要OnDrawerOpened成为一个内部类,这样您就可以访问对SlidingDrawer的引用

另类

您还可以通过扩展SlidingDrawer来创建自己的子类,然后覆盖可能需要覆盖animateToggle和toggle的animateOpen和open方法:

如果执行此操作,则需要在XML中引用自己的SlidingDrawer实现:

<com.myPackage.MySlidingDrawer>
   ...
</com.myPackage.MySlidingDrawer>

根据获取数据以检查null的方式和时间,您可能希望将其传递到MySlidingDrawer的构造函数中,或者添加一个可以设置数据的方法。

好的,我应用了这个方法。现在发生的是..抽屉打开..然后关闭,对话框出现。我不想把它打开检查我上面发布的备选方案。
<com.myPackage.MySlidingDrawer>
   ...
</com.myPackage.MySlidingDrawer>