user6463207 user6463207 - 1 year ago 49
Android Question

No view found for id for ShooksFragment

I'm new to all this fragments stuff, and I get an error that couldn't be solved by any of the StackOverflow's questions.

My problem is that I'm getting the error of

No view found for id 0x7f0c0078 ( for fragment ShooksFragment{1a77ec43 #0 id=0x7f0c0078

when trying to add a fragment dinamically.

My code:


public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();

if (id == {
Toast.makeText(getApplicationContext(), "Find friends!", Toast.LENGTH_LONG).show();

} else if (id == {

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction transaction = fragmentManager.beginTransaction();

ShooksFragment fragment = new ShooksFragment();
transaction.add(, fragment);


} else if (id == {
Toast.makeText(getApplicationContext(), "Get prizes!", Toast.LENGTH_LONG).show();
} else if (id == {
Toast.makeText(getApplicationContext(), "Share your shooks!", Toast.LENGTH_LONG).show();

DrawerLayout drawer = (DrawerLayout) findViewById(;
return true;


public class ShooksFragment extends Fragment {

public ShooksFragment() {
// Required empty public constructor

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_shooks, container, false);

// TODO: Rename and change types and number of parameters
public static ShooksFragment newInstance() {

ShooksFragment fragment = new ShooksFragment();

return fragment;



<LinearLayout xmlns:android=""

Answer Source

This line:

transaction.add(, fragment);

is incorrect because is defined in the layout of your fragment. The id you specify in add() should be the id of a ViewGroup you specify in your setContentView() fot the activity. For example, for my fragments I usually keep an empty <FrameLayout> in my activity and then provide the id of this container in both fragment add() and replace() calls.