32

Tôi có phương pháp sau được ghi đè trong tab Hoạt động của tôi và nó hoạt động tốt như thế nhưng tôi muốn trình đơn tùy chọn cụ thể cho từng đoạn. Khi tôi đặt cái này vào phần của tôi và nhấn nút menu, không có gì xảy ra cả.Tôi làm cách nào để sử dụng onCreateOptionsMenu trong một Phân đoạn trong một tab Hoạt động? (Sherlock ActionBar)

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.activity_calc, menu); 
    return true; 
} 
+2

ActionBarSherlock không hỗ trợ 'TabActivity'. – CommonsWare

+0

Tôi đã sử dụng SherlockFragmentActivity với contentView làm việc triển khai tab ViewPager + (vì vậy tôi có thể thực hiện thao tác vuốt và nhấp vào tab). Nó không đặc biệt là một TabActivity ... nó chỉ là một hoạt động với các tab. – snotyak

+1

Có điều gì đó sai với mã bạn đã đăng, nó sẽ không biên dịch. "inflater" được định nghĩa hai lần và "return true" không được chấp nhận trong một phương thức có loại trả về void. – RenniePet

Trả lời

85

Bạn cần gọi setHasOptionsMenu(true) trên đoạn của mình trước khi có thể tham gia thanh tác vụ.

+0

Ah, vâng. Tôi đã sao chép điều sai trái nhưng nó có cùng phương pháp, haha. Tôi sẽ thử nó một chút. Cảm ơn. – snotyak

+3

hwo để sử dụng mã đó? –

+0

Liên kết doc trên 'setHasOptionsMenu (true)' sẽ hữu ích, cảm ơn. – Jigar

0

Tôi có thể đề nghị bạn xem http://code.google.com/p/sherlock-demo/. Như BackpackOnHead mô tả, nó sử dụng ViewPager + ActionBar Tabs để cho phép bạn điều hướng hai cách khác nhau giữa các Fragments trong một Activity. Trong trường hợp này, nó là phần FragmentTabs của ứng dụng mẫu Trình diễn mẫu API, được chuyển đến ActionBarSherlock. LoaderThrottle Fragment nói riêng có các mục OptionsMenu của riêng nó.