2013-09-21 55 views
5

tôi có:OnBackPressed trong Xamarin Android

public override void OnBackPressed() 
{ 
base.OnBackPressed(); 
} 
  • Làm thế nào tôi có thể nhận được trạng thái trước đó của ứng dụng của tôi?
  • Xamarin có chẳng hạn như BackStackEntryCount, làm cách nào tôi có thể sử dụng?

    Ví dụ tôi bấm MainMenu-> Study-> Categories-> FirstCategory, nếu tôi bấm Back, tôi muốn có Categories.

Trả lời

8

Nếu hoạt động Categories trước hạng mục được chọn trong hoạt động ngăn xếp và không bị gán nhãn cho không có tiền sử OnbackPressed mà không ghi đè của các cơ sở/siêu lớp sẽ đưa bạn trở lại lớp loại và nhấn phương pháp OnResume.

Nếu bạn đã tải hoạt động Danh mục của mình trong OnCreate và không làm bất cứ điều gì trong OnResume thì OnBackPressed sẽ hiển thị hoạt động trước đó ở trạng thái bạn đã để lại.

Nếu bạn muốn nó làm điều gì khác thì hãy ghi đè lên OnBackPressed và gắn cờ Danh mục là không có lịch sử.

Override OnBackPressed

protected override void OnBackPressed() 
{ 
    //Do not call the base method 
    //base.Onbackpressed 
    //Do something else 
    *something else code* 
    //finish this activity unless you want to keep it for some reason 
    finish() 

} 

NoHistory

[Activity 
    (

    NoHistory = true   

    ) 
] 

Public Class Categories : Activity 
+0

Xin chào, chỉ cần bình luận nhỏ: nên là: protected override trống OnBackPressed() –

+0

sửa đổi mỗi comment danny của –

+0

Nếu nó là Xamarin, sau đó thực sự nó nên b e void ghi đè công khai OnBackPressed() { Kết thúc(); } –

4
public override void OnBackPressed() 
{ 
finish(); 
}//end onBackPressed()