私は3つのフラグメントを持つViewPagerを持っています。必要なフラグメントに対してのみ、アクションバー メニュー オプションを選択的に設定できます。
同様に、 ActionBar の Spinner を介してナビゲーション リストを提供したいと考えています。ここでも、Navigation List は ViewPager のフラグメントの 1 つに対してのみ表示され、すべてのフラグメントに対しては表示されません。しかし、これに対する私の試みは失敗しました。ナビゲーション リストはアクションバーに表示されますが、すべてのフラグメントに対して残ります。
以下は、ViewPager で使用するフラグメントの 1 つです。このフラグメントをビューにスライドさせたときにのみ、ナビゲーション リストが表示されるようにします。
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;
}
このフラグメントが表示されている場合にのみナビゲーション リストが表示されるように制限するにはどうすればよいですか?