Trong ứng dụng của tôi, tôi có một Hoạt động lưu trữ hai Phân đoạn. Nếu tôi thêm một MenuItem vào Menu, tôi có thể lấy lại nó trong các mảnh của mình không? Liên kết giữa OptionMenu trong Hoạt động và OptionMenu trong phần con của anh ấy là gì?Android: OptionMenu giữa Hoạt động và Phân đoạn
Trả lời
Bạn phải gọi setHasOptionsMenu();
với đối số true
làm đối số được chuyển đến nó, sau đó bạn có thể ghi đè lên menuTạo tùy chọn.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Enable the option menu for the Fragment
setHasOptionsMenu(true);
}
Nếu bạn muốn có optionsMenu khác nhau cho mỗi đoạn bạn sẽ xác định hai menu file xml khác nhau và thổi phồng chúng trong onCreateOptionsMenu
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.fragment1_menu, menu);
}
Nó hiển thị 2 menu .. 1 từ hoạt động của tôi và 1 trong phân đoạn. Bạn có biết cách ẩn menu hoạt động không. mà tôi có trong tất cả các mảnh vỡ – djk
Tôi nghĩ bạn không nên tăng cường menu trong Hoạt động của bạn để tránh điều đó. –
thử đặt menu.removeItem (R.id.parentMenuItem); trong mảnh vỡ để tránh sự lặp lại –
Bạn không thể nắm bắt những sự kiện trong menu của hoạt động trong tiểu mảnh . Thay vào đó, bạn có thể có các đoạn của bạn thực hiện một cái gì đó như MenuItem.OnMenuItemClickListener
. Và trong phương thức onOptionsItemSelected(MenuItem item)
của hoạt động, bạn chỉ cần gọi YourFragment
. onMenuItemClick()
.
tôi phát hiện ra rằng tôi có thể thêm MenuItem
trong Hoạt động onCreateOptionsMenu()
và sau đó lấy chúng trong Fragment
s bằng id của họ, như thế này:
Hoạt động:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
itemId= 0;
menu.add(0, itemId, 0, "item");
return super.onCreateOptionsMenu(menu);
}
Fragment:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
itemId= 0
MenuItem menuItem= menu.findItem(itemId);
}
Không, vẫn không hoạt động .. –
- 1. Phân đoạn có hoạt động không? (Android)
- 2. Cách gọi lại giữa Hoạt động và Phân đoạn?
- 3. Android: Thêm phân đoạn vào hoạt động
- 4. Chuyển đổi giữa các Phân đoạn trong một Hoạt động
- 5. Android: Gọi lại AsyncTask thành Phân đoạn (Không hoạt động)
- 6. Phân đoạn động trong Android
- 7. Android: trên chuyển đổi vuốt giữa Chế độ xem/Hoạt động/Phân đoạn
- 8. Cách chuyển dữ liệu giữa hoạt động sang phân đoạn bằng ý định trong Android
- 9. Bố cục hoạt động: Phân đoạn hoạt động: vs android: tên thuộc tính
- 10. Asynctask trong Hoạt động phân đoạn hoặc hoạt động gốc?
- 11. hoạt ảnh phân đoạn android bằng gói tương thích
- 12. Các mẫu khi sử dụng Chuyển đổi hoạt động và Phân đoạn động
- 13. Android: sử dụng hoạt ảnh mặc định của Hoạt động cho Phân đoạn
- 14. Sử dụng nhiều phân đoạn trong một hoạt động
- 15. Gọi phương thức Phân đoạn từ hoạt động gốc
- 16. Điều hướng giữa các đoạn trong một hoạt động
- 17. Phân đoạn giữa ViewControllers không có điều khiển kích hoạt?
- 18. nhấp vào phân đoạn gọi hoạt động đằng sau nó
- 19. Android: cách nhảy đúng giữa các đoạn
- 20. Android: Chuyển dữ liệu giữa dịch vụ và hoạt động
- 21. Dataflow giữa Android BroadcastReceiver, ContentProvider và Hoạt động?
- 22. Làm cách nào để `onViewStateRestored` từ Phân đoạn hoạt động?
- 23. Android Xóa Phân đoạn và Chế độ xem từ BackStack
- 24. Trong Ember.js hiện setupController và móc mô hình chỉ hoạt động cho các phân đoạn động?
- 25. Ngăn chặn làm mới hoạt động trên hướng thay đổi phân đoạn android
- 26. cam kết phân đoạn từ onLoadFinished trong hoạt động
- 27. Đặt đối số của phân đoạn từ hoạt động
- 28. Cách chuyển dữ liệu từ hoạt động sang phân đoạn
- 29. java.lang.illegalstateexception không thể tìm thấy phương thức (xem) trong phân đoạn hoạt động của lớp android
- 30. Tự động thêm phân đoạn vào đoạn
Whats lý do cho wantin để lấy menuItem trong các mảnh vỡ? Thông thường bạn chỉ muốn thêm vào trình đơn từ các mảnh và đó chỉ là vấn đề ghi đè onCreateOptionsMenu trong các đoạn và gọi setHasOptionsMenu (true) trong phương thức onCreate của chúng –