Actualizar Recycler Ver Niño con ninguna acción de otro niño

Nombre para mostrar :

Estoy luchando con una característica que necesito para poner en práctica en vista de reciclaje, es necesario que actualice pocos hijo basándose en la acción realizada en cualquier niño.

Por ejemplo, tengo vista reciclador con digamos 10 artículos

  1. niño 1
  2. niño 2
  3. niño 3
  4. -
  5. -
  6. niño 10

Ahora en un momento en que hay sólo 5 niños que son visibles en la pantalla y el resto de ellos viene sólo cuando se desplaza la lista. Lo que quería lograr es cuando hago clic en niños de 1 y realizar una acción, que me vuelve acción para actualizar al azar niño 4 , Niño 7 y Niño 8

Ahora el problema es cómo puedo actualizar el niño que no es visible en la lista.

He intentado utilizar la solución siguiente: -

val childCount = rvQuestion.childCount
for (i in 0 until childCount) {
    val child = rvQuestion.getChildAt(i)
            .findViewById<TextInputEditText>(R.id.etQuestion)
    val questionHint = child.hint
    // list is the list of child that needs to be populated with a hint
    if(list.contains(questionHint)) {
        child.setText("someValue")
    }
}

La cuestión es vista reciclador nunca se da por la childCount como 10 da sólo el 5, que son actualmente visibles y por lo tanto el niño mal están consiguiendo puestas al día.

Cualquier otra forma de manejar esto?

LeHaine:

Es necesario utilizar el RecyclerViewadaptador para agarrar el número de niños y de actualizar ninguna niños. El adaptador requiere para anular una getItemCountfunción que debe devolver el total de elementos en la lista. El intento de obtener el recuento niño o la actualización de un niño directamente desde el RecyclerViewno es la manera correcta.

class TestAdapter(private val data: MutableList<String>) : RecyclerView.Adapter<TestAdapter.ViewHolder>() {
   ...
    override fun getItemCount(): Int {
        return data.size
    }
   ...
}

Y actualizar un niño en el que su RecyclerViewusted necesita decir el adaptador de hacerlo así. Dentro de su adaptador puede crear un método que toma en un índice cualquier otro dato necesario para actualizar un niño.

class TestAdapter(private val data: MutableList<String>) : RecyclerView.Adapter<TestAdapter.ViewHolder>() {
    ...
    fun updateChildAt(idx: Int, newValue: String) {
        data[idx] = newValue
        notifyItemChanged(idx)
    }
    ...
}

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=399929&siteId=1
Recomendado
Clasificación