我在ViewPager中構建了一些帶有碎片的Android應用程序(最低SDK級別10,薑餅2.3.3)。我正在使用ActionBarSherlock創建一個ActionBar,並使用android-viewpagertabs爲ViewPager添加選項卡,就像在Market客戶端中一樣。使用ViewPager和片段複製菜單項
我有一個全局菜單項,我想要顯示在每個選項卡/片段上。在三個選項卡中的第一個上,我希望有兩個額外的菜單項。
但現在兩個陌生的事情發生了:
首先,如果我啓動應用程序,一切似乎都很正常,我可以看到在第一頁上的所有三個菜單項只有一個項目,如果我刷到第二和第三個標籤。但是如果我滑回第三個選項卡的第二個選項卡,我可以再次看到所有三個不應該發生的項目。如果我滑回第一個,然後又回到第二個標籤,一切都很好。
另一個奇怪的是,我每次旋轉設備時,片段中的菜單項都會再次添加,即使它們已經在菜單中。從位於freenode /#安卓
public class SubscriptionGridFragment extends Fragment {
private GridView subscriptionList;
private SubscriptionListAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
// ...
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.subscription_list, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// ...
}
}