2011-11-18 28 views
5

Tôi vừa nâng cấp ứng dụng Android của mình từ cấp api 13 lên 14, sử dụng trình mô phỏng 4.0.Phát triển Android 4.0 - onMenuItemSelected (int, Menu)

ai đó đang sử dụng mức 14 api có thể xác nhận rằng có một vấn đề với

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) 
{ 
switch(item.getItemId()) 
      { 
       case android.R.id.home: 
... 
} 

chức năng? Nếu tôi biên dịch với api cấp 13, tôi có thể nhấp vào biểu tượng hoạt động chính (trái lên) và tôi đi đến phương thức này trong trường hợp r.id.home, nhưng với nâng cấp lên cấp api 14, hàm đó không được gọi và có vẻ như biểu tượng là không thể nhấp :(

tôi chỉ tự hỏi nếu nó là một lỗi trong này chỉ mới được phát hành api ..

Trả lời

3

tôi không chắc chắn về sự quá tải bạn đang sử dụng cho onOptionsItemSelected. các tài liệu tham khảo Android cho thấy rằng quá tải chỉ là onOptionsItemSelected (MenuItem) và sau đây chắc chắn là làm việc cho tôi:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
+0

bạn có trình giả lập mới nhất, nền tảng api 14 không? tôi biết những gì các tài liệu tham khảo nói .. –

+0

Tôi đã di chuyển trở lại 3,2 và cùng một vấn đề đã biến mất, biểu tượng mặc định lên bên trái là có thể nhấp và chức năng tôi đề cập đến được gọi là .. bdw tôi đã không di chuyển nguyên nhân của biểu tượng nhưng vì điều này http://stackoverflow.com/questions/8200865/android-emulator-platform-4-0-startup-problems –

5

Từ tài liệu thanh hành động:

Lưu ý: Nếu bạn đang sử dụng các biểu tượng để điều hướng đến các hoạt động về nhà, hãy cẩn thận rằng bắt đầu với Android 4.0 (cấp API 14), bạn phải cho phép một cách rõ ràng vào biểu tượng như một mục hành động bằng cách gọi setHomeButtonEnabled (true) (trong các phiên bản trước, biểu tượng đã được bật làm mục tác vụ theo mặc định).

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