Android FragmentActivity does not show action bar

I am trying to create an application that uses fragments, but when I try to show Fragment in FragmentActivity , the action bar does not appear.

Class FragmentActivity:

 public class NoteDetailsActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.note_details_fragment); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { // If the screen is now in landscape mode, we can show the // dialog in-line with the list so we don't need this activity. finish(); return; } if (savedInstanceState == null) { // During initial setup, plug in the details fragment. NoteDetailsFragment details = new NoteDetailsFragment(); details.setArguments(getIntent().getExtras()); getSupportFragmentManager().beginTransaction().add(R.id.note_details, details).commit(); } } } 

Fragment Class:

 public class NoteDetailsFragment extends Fragment { /** * Create a new instance of DetailsFragment, initialized to * show the text at 'index'. */ public static NoteDetailsFragment newInstance(int index) { NoteDetailsFragment f = new NoteDetailsFragment(); // Supply index input as an argument. Bundle args = new Bundle(); args.putInt("index", index); f.setArguments(args); return f; } public int getShownIndex() { return getArguments().getInt("index", 0); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (container == null) { // We have different layouts, and in one of them this // fragment containing frame doesn't exist. The fragment // may still be created from its saved state, but there is // no reason to try to create its view hierarchy because it // won't be displayed. Note this is not needed -- we could // just run the code below, where we would create and return // the view hierarchy; it would just never be used. return null; } int index = getArguments().getInt("index"); String message = ""; switch (index) { case 0: message = "Start"; break; case 1: message = "Second"; break; case 2: message = "last"; break; } TextView text = new TextView(getActivity()); text.setText(message); return text; } } 

I tried to implement onCreateOptionsMenu in my FragmentActivity class, but nothing happens. I also tried setHasOptionsMenu(true) in the Fragment class, but that does not either.

If that is interesting, here are the layouts where I insert my Fragment (note_details_fragment):

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_margin="@dimen/activity_vertical_margin" android:layout_height="match_parent"> <FrameLayout android:layout_above="@id/save_note" android:id="@+id/note_details" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="?android:attr/detailsElementBackground" /> <Button android:id="@+id/save_note" android:layout_alignParentBottom="true" android:text="@string/save" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </RelativeLayout> 

EDIT: From manifest:

  <activity android:name=".activities.NoteDetailsActivity"> </activity> 
+1
source share
1 answer

Getting from the ActionBarActivity class instead of FragmentAcivity should solve your problem:

 public class NoteDetailsActivity extends ActionBarActivity { // ... } 
+2
source

Source: https://habr.com/ru/post/1235489/


All Articles