我有一个带有 3 个片段的ViewPager 。我只能为我想要的片段有选择地设置操作栏菜单选项。
同样,我想通过 ActionBar 中的 Spinner 提供一个导航列表。同样,导航列表应该只出现在 ViewPager 的片段之一,而不是所有片段。然而,我在这方面的尝试失败了。导航列表出现在操作栏中,但所有片段都保留在那里。
下面是我在 ViewPager 中使用的片段之一。我希望仅当我在视图中滑动此片段时才显示导航列表。
public class TransactionsFragment extends SherlockFragment implements
ActionBar.OnNavigationListener{
private ActionBar mActionBar;
@SuppressLint("NewApi")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_transactions, container, false);
// Set up the action bar to show a dropdown list
mActionBar = getActivity().getActionBar();
mActionBar.setDisplayShowTitleEnabled(false);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
final String[] dropdownValues = {"Test","Old"};
// Specify a SpinnerAdapter to populate the dropdown list
ArrayAdapter<String> adapter = null;
if(android.os.Build.VERSION.SDK_INT >= 14) {
adapter = new ArrayAdapter<String>(mActionBar.getThemedContext(),
android.R.layout.simple_spinner_item, android.R.id.text1,
dropdownValues);
} else {
adapter = new ArrayAdapter<String>(getActivity().getBaseContext(),
android.R.layout.simple_spinner_item, android.R.id.text1,
dropdownValues);
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Set up the dropdown list navigation in the action bar.
mActionBar.setListNavigationCallbacks(adapter, this);
return rootView;
}
如何限制导航列表仅在此片段可见时出现?