Android: establece texto en TextView

Actualmente estoy aprendiendo algo de Android para un proyecto de la escuela y no puedo encontrar la manera de configurar el texto de forma dinámica en un TextView.

Aquí está mi código:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_enviar_mensaje); err = (TextView)findViewById(R.id.texto); err.setText("Escriba su mensaje y luego seleccione el canal."); } 

Esto no funciona actualmente y no puedo encontrar la manera de hacerlo funcionar …

Cualquier ayuda será muy apenada … Gracias por el tiempo, José.

EDITAR: Aquí está el activity_enviar_mensaje.xml

  ...  ...  

Al no funcionar, me refiero a que el texto que se muestra no cambia en ningún momento …

En tu diseño XML:

  

Luego, en tu clase de actividad:

 // globally TextView myAwesomeTextView = (TextView)findViewById(R.id.myAwesomeTextView); //in your OnCreate() method myAwesomeTextView.setText("My Awesome Text"); 

PONTE ESTE CÓDIGO EN SU XML

  

PONTE ESTE CÓDIGO EN SU ARCHIVO JAVA

// Declarar componentes como TextView Globally es un buen Habbit

 TextView mTextView = (TextView) findViewById(R.id.textview1); 

// Pon esto en OnCreate

 mTextView.setText("Welcome to Dynamic TextView"); 

Bueno, @+id/listaVista ListView se dibuja después de @+id/texto y encima de él. Así que cambie en ListView desde:

 android:layout_below="@+id/editText1" 

a:

 android:layout_above="@+id/texto" 

Además, dado que la lista se dibuja después de la vista de texto, me parece peligroso tener android:layout_alignRight="@+id/listaVista" en TextView. Así que quítelo y encuentre otra forma de alineación.

EDITAR Echando un segundo vistazo a su diseño, creo que esto es lo que realmente quiere tener:

        

¿Por qué no intentas asignar el contenido de la vista de texto en Inicio () en lugar de en Crear ()

Prueba esto:

 TextView err = (TextView)findViewById(R.id.text); 

Asegúrese de importar TextView.

Tuve un problema similar. Resultó que tenía dos objetos TextView con la misma ID. Estaban en diferentes archivos de vista y, por lo tanto, Eclipse no me dio un error. Intenta cambiar el nombre de tu id en el TextView y mira si eso no soluciona tu problema.

en su activity_main.xml pegue este código:

   

y vaya a la carpeta res-> values-> strings.xml pegue el siguiente código con el código que ya existe:

  Escriba su mensaje y luego seleccione el canal. 

el código anterior significa que ha creado una vista de texto con id: name (android: id = “@ + id / name”) y asignó esa vista de texto a una cadena con un nombre de identificador (android: text = “@ string / name”) en strings.xml su uso de ese nombre de identificador para asignar el texto,

Por favor, corrija la siguiente línea:

 err = (TextView)findViewById(R.id.texto); 

a:

 err = (TextView)findViewById(R.id.err); 

En el archivo de diseño.

  

En actividad

 TextView myTextView = (TextView)findViewById(R.id.myTextView); myTextView.setText("Hello World!"); 

En xml usa esto:

  

En Activity define la vista:

 Textview textView=(TextView)findViewById(R.id.textView); textView.setText(getResources().getString(R.string.txt_hello)); 

En archivo de cadena:

 Hello 

Salida: Hola

Esto debería funcionar:

 TextView.setText("test"); 

Como ha dado texto estático

err.setText("Escriba su mensaje y luego seleccione el canal.");

No cambiará, seguirá siendo el mismo.

Ejemplo para texto dynamic para textview es:

 MainActivity.java package com.example.dynamictextview; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { int count = 0; Button clickMeBtn; TextView dynamicText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); clickMeBtn = (Button) findViewById(R.id.button_click); dynamicText = (TextView) findViewById(R.id.textview); clickMeBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { count++; dynamicText.setText("dynamic text example : " + count); } }); } } For activity_main.xml     

En archivo XML,

  

En el archivo de actividad de Java,

 public class MainActivity1 extends Activity { TextView t1; public void onCreate(Bundle onSavedInstance) { setContentView(R.layout.xmlfilename); t1 = (TextView)findViewbyId(R.id.textview); } } 

primero tu deberías crear un objeto para ver texto TextView show_alter

 show_alert = (TextView)findViewById(R.id.show_alert); show_alert.setText("My Awesome Text"); 

Deberías usar ButterKnife Library http://jakewharton.github.io/butterknife/

Y úsalo como

 @InjectView(R.id.texto) TextView err; 

en el método onCreate

 ButterKnife.inject(this) err.setText("Escriba su mensaje y luego seleccione el canal."); 

Puede establecer cadena en textview programáticamente como a continuación.

 TextView textView = (TextView)findViewById(R.id.texto); err.setText("Escriba su mensaje y luego seleccione el canal."); 

o

 TextView textView = (TextView)findViewById(R.id.texto); err.setText(getActivity().getResource().getString(R.string.seleccione_canal)); 

Puede establecer una cadena en xml como a continuación.

  

o

  

Tu código está bien, estás cargando el TextView .xml que contiene TextView utilizando setContentView() :

  setContentView(R.layout.activity_enviar_mensaje); 

y luego obteniendo la referencia de TextView dentro de activity_enviar_mensaje.xml , y configurando un texto:

 err = (TextView)findViewById(R.id.texto); err.setText("Escriba su mensaje y luego seleccione el canal."); 

El problema es que su TextView está oculto por el ListView :

enter image description here

En tu diseño Your Texto no debería contener (android: text = …). Quitaría esta línea Guarde la cadena de Java O (android: text = …)

Vaya a su actividad Principal y configure el texto agregando un widget desde la sección de widgets y cambiando el texto manualmente seleccionando y escribiendo.