Có cách nào thuận tiện để hiển thị cùng các tùy chọn menu Tùy chọn trong nhiều Hoạt động không?Mã menu tùy chọn sử dụng lại
Ví dụ: Trong ứng dụng của tôi, tôi hiển thị Hướng dẫn bằng TV theo một trong ba cách.
- Bảy dẫn ngày (TabActivity với 7 tab)
- Tất cả các kênh 'Bây giờ thấy' (ListActivity)
- Tất cả các chương trình ngày hôm nay bởi thời gian bắt đầu (Hoạt động - có thể thay đổi một cách dễ dàng để ListActivity)
Đối Options menu trong TabActivity
, mã này là khá đơn giản ...
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.clear();
inflater.inflate(R.menu.gv_options_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.view:
...
...
}
}
... b ut tại thời điểm này có vẻ như tôi cần phải sao chép/dán nó vào hai hoạt động khác mà tôi không thích làm. Nếu tôi thay đổi mã trình đơn Tùy chọn cho một cái tôi cũng cần phải làm điều đó cho hai cái còn lại.
Cách thay thế duy nhất tôi có thể nghĩ là tôi có một lớp 'trợ giúp' (POJO) mà tôi có thể thêm phương pháp và chuyển số context
vào để cho phép sử dụng phương pháp getMenuInflator()
và phương pháp khác tôi có thể chuyển kết quả item.getItemId()
vào để xử lý với trường hợp chuyển đổi.
Cách thông thường để có nhiều Hoạt động có cùng menu Tùy chọn là gì?
Khi hóa ra tôi đã quên rằng nội dung tab của Hướng dẫn hoạt động 7 ngày thực sự là ListActivitys - Tôi đã thay đổi hoạt động 'tất cả các hoạt động hôm nay ...' (số 3 trong câu hỏi của tôi) cũng là một ListActivity và đã định nghĩa một lớp cơ sở mà cả ba lớp đều mở rộng. Một trong những khoảnh khắc không thể nhìn thấy rừng cây. Cảm ơn. – Squonk