java - viewholder - Actualizar Android TextView
adapter viewholder (3)
Tengo una aplicación de Android simple que quiero escribir en la pantalla el valor de un solo campo, que pertenece a una clase diferente.
Usando la vista de texto simple, puedo escribir el valor inicial del campo, pero no sé cómo actualizar el texto en la pantalla cada vez que el campo cambia de valor.
Por cierto, es mi primera aplicación de Android, así que todavía estoy perdido
Aquí está mi código de actividad:
public class findIT extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PositionHolder ph = new PositionHolder();
TextView tv = new TextView(this);
setContentView(tv);
//this.updateText();
tv.setText("You are at " + ph.getPosition());
}
}
Chris .... Aquí hay una forma más básica de desarrollar una aplicación. Divida el problema en tres partes. La presentación o vista. El algoritmo o modelo. El controlador que responde a los eventos del usuario y del sistema. Esto crea una "separación de preocupaciones" tal que el Controlador posee la vista y el modelo. Usted crea la vista usando xml como en main.xml. Usted crea una clase separada para hacer el trabajo, digamos MyModel.java y, por supuesto, está el Controller o la clase Activity, dice MyActivity.java. Entonces, los datos provienen del modelo que va al controlador que actualiza la vista.
Entonces su pregunta es cómo obtener los datos del modelo y actualizar la vista. Naturalmente, esto tendrá lugar en el controlador, su actividad. La forma más sencilla de hacerlo es poner un botón en la actividad y cuando el usuario pulsa el botón, llame a model.getLatestData () y actualice la vista. Esto es TIRANDO datos. La próxima forma es que el Controlador verifique una actualización, por ejemplo, cada minuto. Esto es POLLING para datos. La próxima forma es que el Controlador registre su interés en los cambios en el modelo y se quede esperando que el modelo indique un cambio y luego actualice la vista. Esto es EMPUJE asincrónico de datos del modelo al controlador y podría hacerse con el patrón OBSERVADOR.
Sé que esto no tiene sentido para ti cuando estás luchando por hacer que el código funcione, pero espero haber plantado la semilla de una idea en tu cabeza que te molestará y tendrá sentido en algún momento en el futuro.
JAL
Necesitará definir un diseño en xml, luego cuando cree TextView, lo asociará con su layoutID. Algo como:
TextView tv = (TextView) findViewById(R.id.something);
Puedo explicar un poco más, si lo necesita, pero esto le dará un lugar de partida para buscar más respuestas.
Necesita crear un TextView en un diseño xml de la siguiente manera:
<TextView
android:id="@id/textView01"
android:text="Enter your initial text "
android:layout_width="wrap content"
android:layout_height="wrap content"
></TextView>
Luego, escriba lo siguiente en su clase después de la función setContentView ():
TextView textView = (TextView) findViewById(R.id.textView01);
textView.setText("Enter whatever you Like!");