Professional Documents
Culture Documents
Adapter
Adapter
Adapter
Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.TextView
import java.util.ArrayList
import java.util.Locale
class ListViewAdapter(
// Declare Variables
internal var mContext: Context, animalNamesList: MutableList<AnimalNames>) :
BaseAdapter() {
internal var inflater: LayoutInflater
private var animalNamesList: MutableList<AnimalNames>? = null
private val arraylist: ArrayList<AnimalNames>
init {
this.animalNamesList = animalNamesList
inflater = LayoutInflater.from(mContext)
this.arraylist = ArrayList()
this.arraylist.addAll(animalNamesList)
}
// Filter Class
fun filter(charText: String) {
var charText = charText
charText = charText.toLowerCase(Locale.getDefault())
animalNamesList!!.clear()
if (charText.length == 0) {
animalNamesList!!.addAll(arraylist)
} else {
for (wp in arraylist) {
if
(wp.animalName.toLowerCase(Locale.getDefault()).contains(charText)) {
animalNamesList!!.add(wp)
}
}
}
notifyDataSetChanged()
}