Я пытаюсь сделать игру викторины в kotlin. У меня 1 проблема, после нажатия на какое-то письмо, письмо становится невидимым. Когда я пишу «ответ», нажмите на кнопку «Проверка», и окно «повторное использование» обновляется, чтобы отобразить скрытые буквы. Это работает хорошо, но когда я переосмысливаю sh «Просмотр повторного использования», обзор повторного просмотра уменьшится. Извините за мой engli sh. После refre sh выглядит так
А потом выглядит так Вот мои коды: recyclerview в ConstraintLayout
` <androidx.recyclerview.widget.RecyclerView
android:id="@+id/list2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scroll" />`
Адаптер:
private inner class adapter(internal var context: Context, internal var mData: List<String>) :
RecyclerView.Adapter<adapter.myViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): adapter.myViewHolder {
val view = LayoutInflater.from(context).inflate(R.layout.letters_list, parent, false)
return myViewHolder(view)
}
override fun getItemCount(): Int {
return mData.size
}
override fun onBindViewHolder(holder: adapter.myViewHolder, position: Int) {
val levl = mData[position]
holder.kola.text = mData[position]
val fisrt = intent.getStringExtra(LEVL)
holder.itemView.setOnClickListener{
if(omezova == true){
if(pressCounter < CorrectAnswer.length){
val animation = AnimationUtils.loadAnimation(context, R.anim.fade_out_one)
holder.itemView.startAnimation(animation)
holder.itemView.visibility = View.GONE
if(pressCounter == 0)
editText2?.setText("")
editText2?.setText(editText2?.text.toString() + levl.toString())
pressCounter++
}
}else{
val animation = AnimationUtils.loadAnimation(context, R.anim.fade_out_one)
holder.itemView.startAnimation(animation)
holder.itemView.visibility = View.GONE
if(pressCounter == 0)
editText2?.setText("")
editText2?.setText(editText2?.text.toString() + levl.toString())
pressCounter++
}
}
send.setOnClickListener{
pressCounter = 0
if(editText2.text.toString() == CorrectAnswer){
success.visibility = View.VISIBLE
editText2.setText("")
plusCoins()
refresh()
}else{
mistake.visibility = View.VISIBLE
editText2.setText("")
Wrong()
refresh()
}
}
}
inner class myViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val kola = itemView.findViewById(R.id.letters) as TextView
}
}
Refre sh Функция:
val layoutManager = GridLayoutManager(this, 4)
list1!!.setLayoutManager(layoutManager)
list1!!.addItemDecoration(SpaceGrid(4, 10))
recyclerAdapter1 = adapter(this, country)
list1!!.setAdapter(recyclerAdapter1)
И spaceGrid:
private inner class SpaceGrid(private val mSpanCount: Int, private val mSpacing: Int) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
val position = parent.getChildAdapterPosition(view)
val column = position % mSpanCount
if (position >= 0) {
outRect.left = mSpacing - column * mSpacing / mSpanCount
outRect.right = (column + 1) * mSpacing / mSpanCount
if (position < mSpanCount) {
outRect.top = mSpacing
}
outRect.bottom = mSpacing
} else {
outRect.left = 0
outRect.right = 0
outRect.top = 0
outRect.bottom = 0
}
}
}