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 :)