2014-10-01 3 views
0

Я создал простой SliderDrawer. При щелчке по ручку он открывается правильно, но при повторном нажатии он не закрывается. Я настроил onclick на класс, поэтому, когда щелкнул ручку, и скользящий кадр открыт, он закрывается, но не работает. любая идея, почему, пожалуйста?Slidingdrawer не закрывается

Slider.java

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.SlidingDrawer; 

@SuppressWarnings("deprecation") 
public class Slider extends Activity { 

    SlidingDrawer sd; 
    Button handler; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sliding); 
     sd = (SlidingDrawer) findViewById(R.id.slidingD); 
     handler = (Button) findViewById(R.id.handle); 
     handler.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       if(sd.isOpened() == true){ 
        sd.animateClose(); 
       } 
      } 
     }); 
    } 
} 

sliding.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <SlidingDrawer 
     android:id="@+id/slidingD" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:content="@+id/content" 
     android:handle="@+id/handle" > 
     <!-- android:handle calls the button (Handle) --> 
     <!-- android:content calls the linear layout (Hidden Content) --> 

     <Button 
      android:id="@+id/handle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Handle" /> 

     <LinearLayout 
      android:id="@+id/content" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <CheckBox 
       android:id="@+id/cSlideable" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="CheckBox" /> 
     </LinearLayout> 
    </SlidingDrawer> 

</LinearLayout> 
+0

Возможно, с тем же идентификатором кнопки и ручкой это не очень хорошая идея? – Blackbelt

+0

из того, что я понимаю, является то, что кнопка является обработчиком для раздвижного устройства. Если я ошибаюсь, исправьте меня. – wayzz

+0

Мой вопрос был на самом деле. – Blackbelt

ответ

0

Что я сделал, чтобы сделать его работа была поставлена ​​

handler.OnClickListener

в

(это)

и использовал переопределения метода OnClick

@Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch (v.getId()) { 
     case R.id.handle: 
      sd.close(); 
      break; 
     } 
    }