2017-01-11 96 views
0

我顯示了一個片段A,它實現了具有多個片段(嵌套片段)的ViewPager。在嵌套片段中使用OptionsMenu不更新

在我的嵌套片段中,我使用以下方法給菜單充氣。

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.my_menu, menu); 
    super.onCreateOptionsMenu(menu, inflater); 
} 

此問題已被要求here。我試過所有的答案它不工作。

我的問題是 一切fine.but工作,當我打開另一個片段(它沒有任何選項菜單),並回到以前的觀點尋呼機片段,同時點擊菜單項onOptionsItemSelected不點火。當我滑動viewpager片段並回到前一個,當我點擊菜單項它的射擊。

回答

1

它因爲viewpager一次保持3個片段活着。所以當你回來時,它將菜單可見性狀態設置爲最後一個片段。這就是爲什麼你的菜單項點擊不發射。

使用的片段以下,你保持viewpager你的情況片段A.

private boolean isInitial=true; 

@Override 
    public void onResume() { 
     super.onResume(); 

     if (!isInitial) { 
      int pos = viewpager.getCurrentItem(); 
      if (pageAdapter.getItem(pos).getUserVisibleHint() && pageAdapter.getItem(pos).isVisible()) { 
       pageAdapter.getItem(pos).setMenuVisibility(true); 
      } 
     } else { 
      isInitial = false; 
     } 
    }