253 Stimmen

Wie erhält man ein Layout Inflater gegeben einen Kontext?

Ich schreibe eine benutzerdefinierte Implementierung von einem ListAdapter.

Im Konstruktor werden ein Context, eine Ressourcenkennung (z. B. R.id.xxx, die die Layoutdatei repräsentiert) sowie eine Liste und eine Karte (die die Daten enthalten) übergeben.

Nun, das Problem ist, dass ich ein LayoutInflater benötigen, um das View-Objekt zu erhalten, die in der separaten Layout-XML-Datei ist.

Wie kann ich den LayoutInflater erhalten, wenn ich nur den Context habe?

Nun, warum ich denke, dies ist möglich, ist, dass dies ganz ähnlich ist, was in den Konstruktor eines ArrayAdapters (Kontext, Ressource, textViewResourceId, Daten-Array) übergeben wird, und ich denke, der ArrayAdapter hat auch die Verwendung eines LayoutInflater nur einen Kontext gegeben zu machen.

Aber wie kann man das machen?

567voto

Dave Webb Punkte 184809

Sie können die static from() Methode aus dem LayoutInflater Klasse :

 LayoutInflater li = LayoutInflater.from(context);

56voto

NguyenDat Punkte 4109

Sie können auch diesen Code verwenden, um LayoutInflater zu erhalten:

LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X