Acceso a TextView desde otra clase

Tengo mi principal clase de inicio carga main.xml, pero estoy tratando de averiguar cómo acceder a la TextView de otra clase que está cargando la información de una base de datos. Me gustaría publicar esa información en TextView.

Hasta ahora no he encontrado ejemplos útiles en Google.

EDIT: Esta es mi clase que está haciendo el trabajo de base de datos:

import android.widget.TextView;import android.view.View; public class DBWork{ private View view; ... TextView tv = (TextView) view.findViewById(R.id.TextView01); tv.setText("TEXT ME") 

Sin embargo, cada vez que lo hago obtengo una excepción nullpointer

Si fuera usted, mantendría todas sus actualizaciones de interfaz de usuario dentro de su clase de Activity principal. Usted acaba de obtener su clase DBWork para devolver el texto que desea mostrar a su Activity . Así que algo como:

 public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView) view.findViewById(R.id.TextView01); DBWork db = new DBWork("192.168.2.14:8080/DH/DPost";, "test_db"); tv.setText(db.getText()); } } 

Entonces su clase db:

 public class DBWork{ ... public String getText(){ //do stuff return ""; } } 

Tenga en cuenta que cualquier operación de base de datos que realice durante onCreate debe ser lo más rápida posible, ya que se ejecutan en el subproceso de interfaz de usuario. Si va a realizar consultas de bases de datos largas y ejecutables, debe utilizar un AsyncTask o crear un nuevo Thread y utilizar un Handler para actualizar la interfaz de usuario.

Debe utilizar LayoutInflater:

  LayoutInflater inflater = getLayoutInflater(); View myView = inflater.inflate(R.layout.main, null); TextView myTextView = (TextView) findViewById(R.id.myTextViewInXml); 

Puede pasar las referencias a todos los controles después de crear la instancia de clase. Personalmente, paso toda la clase que tiene todos los controles como variables públicas.

Debe definir su TextView utilizando xml y darle un id. Ejemplo:

 <TextView android:layout_width="wrap_content" android:layout_height="match_parent" android:textColor="#FFF" android:gravity="center_vertical|right" android:paddingLeft="5dip" android:paddingRight="5dip" android:text="@string/name" android:id="@+id/myTextViewInXml"/> 

Entonces puedes acceder a él en cada clase usando

  TextView myTextView = (TextView) findViewById(R.id.myTextViewInXml); 

Es lo correcto:

  LayoutInflater inflater = getLayoutInflater(); View myView = inflater.inflate(R.layout.main, null); TextView myTextView = (TextView) findViewById(R.id.myTextViewInXml); 

Pero antes de que tenga que especificar qué archivo desea utilizar por:

SetContentView (id del archivo XML que incluye R.id.myTextViewInXml)

Sin eso, el findViewById(R.id.myTextViewInXml); Siempre devolverá null .

Esto es un ejemplo:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.virtualtour); // before !! progress_bar = (ProgressBar) findViewById(R.id.vt_progress); loading_ly = (RelativeLayout) findViewById(R.id.vt_layout_loading); panorama_description = (TextView) findViewById(R.id.vt_description); virtualtour_relatively = (RelativeLayout) findViewById(R.id.vt_layout_opengl); ......... 
  • Android LinearLayout con varias filas
  • Diseño de Android con visibilidad GONE
  • ¿Cómo puedo reconocer qué área de una imagen (no sólo las coordenadas) se ha tocado en Android?
  • Contenedor personalizado para Android (hexagonal) con adaptador
  • GetActionView () de mi MenuItem return null
  • ¿Cuál es la diferencia entre setBackgroundResource y setBackgroundDrawable
  • Android: uso de la vista personalizada en el widget
  • View.getId () devolviendo ID incorrecto en OnItemClickListener
  • View.setBackground lanza NoSuchMethodError
  • Cómo obtener la vista anterior o siguiente
  • Cómo inflar una vista en una posición determinada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.