getLayoutInflater() in fragment

I'm trying to show my results search in a ListView on the Fragment, but it fails on:

LayoutInflater inflater = getLayoutInflater();

The method getLayoutInflater(Bundle) in the type Fragment is not applicable for the arguments ()

This is my code:

public View getView(int position, View convertView, ViewGroup parent)
  {
   LayoutInflater inflater = getLayoutInflater();
   View row;

   row = inflater.inflate(R.layout.list_single, parent, false);

   TextView textview = (TextView) row.findViewById(R.id.TextView01);
   ImageView imageview = (ImageView) row
     .findViewById(R.id.ImageView01);

   textview.setText(data_text[position]);
   imageview.setImageResource(data_image[position]);

   return (row);

  }

How can I fix this?


Solution 1:

if you are in a fragment you want

getActivity().getLayoutInflater();

or

LayoutInflater.from(getActivity());

also you can do

View.inflate();

or

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

Solution 2:

In Activity you can use like this:

this.getLayoutInflater();

For Fragment you need to replace keyword "this" with "getActivity()"

getActivity().getLayoutInflater();

Hope this will help!

Solution 3:

Now and don't know from when you can get it in your Fragment(support library v4) by

getLayoutInflater(null);

Solution 4:

If you want to inflate layout (attach child layout to parent) in Fragment

Use this code

LayoutInflater inflater = (LayoutInflater) getActivity() .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

Now to Inflate child layout

View view = inflater.inflate(R.layout.layout_child, null);

Happy coding :)