0

이전 Activity에서 onBackPressed 이후에 현재 Activity의 slidingMenu (헤더에 정의 됨)에 액세스 할 수 없다는 문제점이 있습니다.더 많은 활동의 공통 헤더로 포함되어있는 단편에 SlidingMenu (jeremyfeinstein) 구현하기

좀 더 화면에서 헤더 (활동)에 포함되어야한다이 조각이 여기

class HeaderFragment extends Fragment{ 
    private static SlidingMenu slidingMenu; 

    public void onActivityCreated(Bundle savedInstanceState){ 
    super.onActivityCreated(savedInstanceState); 
    context=getActivity(); 

    slidingMenu = new SlidingMenu(context); 
    ... 
    slidingMenu.attachToActivity(context, SlidingMenu.SLIDING_CONTENT); 
    ... 
    menuButton = (Button)getView().findViewById(R.id.menuButton); 
    menuButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      slidingMenu.toggle(); 
     } 
     }); 
     .... 
} 

입니다 header_fragment.xml :

여기
... 
<LinearLayout 
    android:layout_width="40dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="left" > 

    <Button 
     android:id="@+id/menuButton" 
     ... 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left" 
     android:layout_weight="0" /> 
</LinearLayout> 

활동의 레이아웃 조각 포함입니다 :

<fragment 
    android:name="com.HeaderFragment" 
    android:id="@+id/headerFragment" 
    android:layout_weight="1" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" /> 

그리고 각 활동마다 내가 가지고있는 것 :

public class ManyActivities extends FragmentActivity { 
    ... 
    @Override 
    public void onBackPressed() { 
     //here I need slidingMenu from header 
     if (slidingMenu.isMenuShowing()) 
     slidingMenu.toggle(); 
     else 
     super.onBackPressed(); 
    } 
} 

답변

3

그냥 질문 하나 .. 슬라이딩 메뉴 라이브러리를 사용하여 화면의 왼쪽이나 오른쪽에서 슬라이드 아웃하는 메뉴를 시뮬레이션하고 있습니까? 그것이 사실이라면 사실은 아니다.)

Google은 드로어 네비게이션이라고하는 프레임 워크에 정확히 무엇인가를 추가했다. 이것은 서랍이 열려 있고 뒤로 버튼을 누르면 닫히는 서랍 버튼 네비게이션을 처리한다. 메뉴가 열리지 않으면 정상적인 작동을 할 것입니다. 이는 당신을 위해 제공되는 프레임 워크의 일부로 처리됩니다.

당신은 당신의 활동의 레이아웃으로 DrawerLayout를 사용하여이 기능을 얻을 http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html