2012-12-04 35 views
5

Tôi gặp vấn đề với khả năng tương thích với ActionBar trên API cấp 15 dành cho Android. Nút lên không hoạt động tốt với cấp API nàyVấn đề tương thích với ActionBar với API 15

Tôi sử dụng dự án mẫu có tên "actionbarcompat" được cung cấp trong thư mục android-sdk, vì vậy tôi đã nhập tất cả các lớp và tôi mở rộng tất cả các hoạt động của mình bằng ActionBarActivity. Tôi cũng thêm đoạn mã này trong Manifest cho mọi hoạt động của tôi:

<activity 
    android:name="fr.appsolute.rescue.MyActivity" 
    android:label="@string/title_activity_info" 
    android:parentActivityName=".MainActivity" 
    android:screenOrientation="portrait" > 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value=".MainActivity" /> 
</activity> 

và trong ActionBarActivity tôi:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    switch(item.getItemId()){ 
    case android.R.id.home: 
     NavUtils.navigateUpFromSameTask(this); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

này cho phép người dùng chạm vào nút lên (có biểu tượng ứng dụng) vào quay lại MainActivity

Mã này hoạt động tốt với Android 2.3.3 và 4.2, nhưng không hoạt động với 4.0.1 và tôi không hiểu tại sao. Khi người dùng chạm vào nút lên, không có gì xảy ra.

Cảm ơn sự giúp đỡ của bạn.

PS: Tôi không thể sử dụng thư viện bên ngoài, tôi phải sử dụng mã gốc

+1

Mẫu đó không còn được dùng nữa. Sử dụng ActionbarSherlock. – rciovati

+0

Cảm ơn @rciovati, ActionbarSherlock hoạt động rất tốt –

Trả lời

0

Giải quyết bằng cách sử dụng ActionBarSherlock

0

Không chắc chắn lý do tại sao nó không hoạt động. Tôi đồng ý rằng điều lạ lùng là nó không thành công trên API 15.

Cách khác để gọi NavUtils.navigateUpFromSameTask(this) có thể gọi số finish(). Thao tác này sẽ đóng hoạt động hiện tại của bạn và chuyển đến hoạt động trước đó trong ngăn xếp. Nó có thể cung cấp cho bạn cùng một kết quả mong muốn.

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