이전 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();
}
}