Was ist der Unterschied zwischen
layoutinflater.inflate()
undlayoutinflater.from()
?Unterschied zwischen layoutinflater.inflate und layoutinflater.fromWarum wird
layoutinflater.from()
inonCreateViewHolder()
inRecyclerView
verwendet?Was ist der Zweck von
getItemCount()
inRecyclerView
?
Antwort
Was ist der Unterschied zwischen
layoutinflater.inflate
undlayoutinflater.from
?
Semantisch sind sie gleich, nur syntactic sugar.
Warum wird
layoutinflater.from
inonCreateViewHolder
Methode in RecyclerView verwendet?
In onCreateViewHolder
Methode, sollten Sie eine Platzhalter Ansicht, instanziiert, die eine Reihe wird später verwendet, um anzuzeigen. Wenn Sie die Zeilenansicht aus einer xml
Datei instanziieren möchten, sollten Sie die Datei, die eine Ansicht anzeigt, aufblasen. Der Aufblasvorgang erfolgt über ein Objekt LayoutInflater
. Wenn Sie keinen xml
verwenden möchten, brauchen Sie diesen Inflator nicht.
Was ist der Zweck der
getItemCount
Methode inrecyclerView
?
Ohne diese, wie würde diese Recycler-Ansicht wissen, wie viele Zeilen diese Liste haben würde? Die Recycler-Ansicht ruft zuerst diese Methode auf und ruft anschließend die darauf basierenden Methoden onCreateViewHolder
und getItem
auf.
layoutinflater.inflate verwendet, um die XML-Layout durch Aktivität oder ein Fragment aufzublasen, in dem bereits Sie Zusammenhang mit der Tätigkeit haben
layoutinflater.from verwendet die den Kontext des Layout-inflater bekommen zu bekommen, wo Sie wollen aufzublasen die xML-Layout (ex die xML-Ressourcendatei in Adapter-Klasse zugreifen Sie auf Rahmen der Tätigkeit benötigen)
layoutinflater.inflate vs layoutinflater.from
Here's a link to the documentation
LayoutInflater.from gibt ein LayoutInflater-Objekt aus dem angegebenen Kontext zurück. layoutinflater.inflate wird eine neue Ansicht von der Ressource aufblasen und Sie können sie auch einem übergeordneten Element hinzufügen.Warum wird layoutinflater.from in der onCreateViewHolder-Methode in der Recycler-Ansicht verwendet?
Dies wird getan, damit Sie einen Verweis auf den Layouter Ihres Kontexts (d. H. Ihre Aktivität) erhalten und diesen Verweis verwenden können, um die inflate() -Methode aufzurufen, in der Sie die ID des Layout-XML Ihres Recyclerview-Elements angeben.Was ist die Methode getItemCount in der Recycler-Ansicht?
Check out the documentation
Diese Methode ist nützlich, wenn Sie keinen direkten Verweis auf die Datenmenge haben, die Ihren Adapter unterstützt.