2012-11-03 37 views
8

Tôi có thanh tiêu đề (menu giống như kinda) và 4 đoạn (MAIN, A, B, C) mà từ đó MAIN phải là đoạn 'chính/gốc' cho backstack.Điều hướng mảnh vỡ Android và backstack

Vấn đề tôi gặp phải là khi người dùng qua menu, ví dụ MAIN> A> B> C. Nếu tôi chỉ đơn giản sử dụng backstack, nó sẽ theo thứ tự ngược lại mà tôi không muốn. tôi cần trở lại nút để trở về TRANG CHỦ dù người dùng muốn chuyển đến một trong những 3.

enter image description here

mã hiện tại của tôi (đó là sai, nó bỏ ứng dụng khi không CHỦ và đoạn hiện nay được bật từ khác đoạn phi chính) trông như thế này:

private void SwitchFragment(Fragment pFragment) 
{ 
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
    ft.replace(R.id.main_fl_fragmentcontainer, pFragment); 
    if (_CurrentFragment == _Frag_Main) 
     ft.addToBackStack(null); 
    ft.commit(); 

    _CurrentFragment = pFragment; 
} 
+0

có vẻ như Bạn chỉ đang thêm phân đoạn chính vào ngăn xếp ngược chứ không phải các phân đoạn khác. –

Trả lời

4

chồng phải của bạn có chứa 2 mảnh tối đa

chính là có thể nhìn thấy chính là onBackstack/AorBorC có thể nhìn thấy. Người dùng nhấp vào trở lại ==> Hiển thị chính. tài nhấp chuột trên lưng ==> ứng dụng cuối

Tôi cho rằng A/B/C được hiển thị trong giao diện tương tự như vậy trong trường hợp này,

Khi người dùng nhấp chuột vào Menu, bạn phải kiểm tra xem A/B/C hiện được hiển thị và thay thế bằng cái được chọn bởi người dùng.

private void displayFragment(Fragment pFragment) { 
    Fragment fr = getSupportFragmentManager() 
      .findFragmentById(R.id.main_fl_fragmentcontainer);   
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
    ft.replace(R.id.main_fl_fragmentcontainer, pFragment); 
    if (_CurrentFragment == _Frag_Main) { 
     ft.addToBackStack(null); 
    } 
    ft.commit();  
    _CurrentFragment = pFragment; 
} 

có thể ghi đè phương thức hoạt động của bạn.

Các vấn đề liên quan