Trong bản cập nhật mới, Google đã phát hành thư viện hỗ trợ API mới, hỗ trợ ActionBar ở cấp API 7+.android.support.v7 với `ActionBarActivity` không có menu nào hiển thị
tôi đã sử dụng ActionBarSherlock cho đến khi bản cập nhật này và tôi đã viết code để nạp đơn:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
và menu file:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item_menu_ok" android:icon="@drawable/ic_action_ok"
android:title="@string/ok" android:showAsAction="always"></item>
<item android:id="@+id/item_menu_cancel" android:icon="@drawable/ic_action_cancel"
android:title="@string/cancel" android:showAsAction="always"></item>
</menu>
Để thiết lập các nút menu trên thanh hành động. Mã này hoạt động hoàn hảo với ActionBarSherlock. Nhưng khi tôi thay đổi thanh hành động sang thư viện hỗ trợ mới, các nút không được hiển thị trong thanh tác vụ. Ngay cả khi chúng được đặt là android:showAsAction="always"
. Và khi tôi gỡ lỗi mã, hàm menu.getSize()
trả về 2 và điều đó là chính xác nhưng không có nút nào được hiển thị.
Tại sao các nút không được hiển thị trong thư viện hỗ trợ mới?
Vâng, vấn đề là 'xmlns: yourapp =" http://schemas.android.com/apk/res-auto "'. Đây là thay đổi đối với Hỗ trợ phiên bản 7? Nguyên nhân trong 'ActionBarSherlock' mã cũ của tôi hoạt động hoàn hảo – nrofis
@nrofis: Tôi không biết tại sao AppCompat không thể sử dụng' android: showAsAction' theo cách ActionBarSherlock có thể. – CommonsWare
Cảm ơn đây là một thay đổi nhỏ và kỳ lạ mà tôi đã bỏ qua! –