Ich versuche, meine Ergebnissuche in einer ListView
auf der Fragment
anzuzeigen, schlägt jedoch fehl:
LayoutInflater inflater = getLayoutInflater();
Die Methode getLayoutInflater (Bundle) im Typ Fragment lautet nicht anwendbar für die Argumente ()
Das ist mein 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);
}
Wie kann ich das beheben?
wenn Sie in einem Fragment sind, möchten Sie
getActivity().getLayoutInflater();
oder
LayoutInflater.from(getActivity());
sie können auch tun
View.inflate();
oder
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
In Activity kannst du so verwenden:
this.getLayoutInflater();
Für Fragment müssen Sie das Schlüsselwort "this" durch "getActivity ()" ersetzen.
getActivity().getLayoutInflater();
Hoffe das wird helfen!
Jetzt wissen Sie nicht, wann Sie es in Ihrem Fragment (Support Library V4) erhalten können
getLayoutInflater(null);
Wenn Sie das Layout vergrößern möchten (untergeordnetes Layout an übergeordnetes Element anhängen) in Fragment
Verwenden Sie diesen Code
LayoutInflater inflater = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Nun zu Inflate
untergeordnetem Layout
View view = inflater.inflate(R.layout.layout_child, null);
Viel Spaß beim Codieren :)
Benutze es:
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);