Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.61 KB | None | 0 0
  1.  
  2. class VocabularyAdapter(private val typeView: Boolean) :
  3.     RecyclerView.Adapter<RecyclerView.ViewHolder>() {
  4.  
  5.     var wordsVocabulary = listOf<GermanEnglishWord>()
  6.     private var wordsEditor = listOf<GermanEnglishWord>()
  7.     var isGerman = true
  8.  
  9.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
  10.         val layoutInflater = LayoutInflater.from(parent.context)
  11.         return if (typeView) {
  12.             VocabularyItemViewHolder(layoutInflater.inflate(R.layout.one_word, parent, false))
  13.         } else {
  14.             EditorItemViewHolder(layoutInflater.inflate(R.layout.bubble_item, parent, false))
  15.         }
  16.     }
  17.  
  18.     override fun getItemCount(): Int {
  19.         return if (typeView) wordsVocabulary.size else wordsEditor.size
  20.     }
  21.  
  22.     override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
  23.         if (holder is VocabularyItemViewHolder) {
  24.             holder.bind(wordsVocabulary[position])
  25.         }
  26.         else if (holder is EditorItemViewHolder) {
  27.             holder.bind(wordsEditor[position])
  28.         }
  29.     }
  30.  
  31.     inner class VocabularyItemViewHolder(v: View) : RecyclerView.ViewHolder(v) {
  32.         private val wordItem = v.word_item
  33.  
  34.         fun bind(word: GermanEnglishWord) {
  35.             wordItem.text = if (isGerman) word.german else word.english
  36.         }
  37.     }
  38.  
  39.     inner class EditorItemViewHolder(v: View) : RecyclerView.ViewHolder(v) {
  40.         private val wordItem = v.bubble_text
  41.  
  42.         fun bind(word: GermanEnglishWord) {
  43.             wordItem.text = if (isGerman) word.german else word.english
  44.         }
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement