¿Dónde colocar setContentView () en onCreate ()?

Soy un principiante en android y quiero saber por qué es que cuando coloco mi setContentView () después de definir el TextView , mi aplicación se bloquea , es decir

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv=(TextView) findViewById(R.id.tv); Linkify.addLinks(tv, Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES| Linkify.PHONE_NUMBERS); setContentView(R.layout.activity_main); //After TextView } 

Pero cuando pongo mi setContentView () antes de definir el TextView entonces mi aplicación funciona muy bien.

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Before TextView TextView tv=(TextView) findViewById(R.id.tv); Linkify.addLinks(tv, Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES| Linkify.PHONE_NUMBERS); } 

¿Por qué es eso y cómo añadir setContentView () antes hace la diferencia?

setContentView() define literalmente las vistas de su actividad. Si intenta hacer algo como TextView tv=(TextView) findViewById(R.id.tv); , Entonces no hay ninguna vista para encontrar porque aún no has definido tus vistas y, por lo tanto, tu aplicación se bloquea. Esta es la razón por la que debe poner setContentView() antes de intentar acceder a sus vistas.

Puede ejecutar cualquier código que desee antes del método setContentView() siempre y cuando no se refiera a (partes de) la vista, que aún no está configurada.

Dado que la variable tv se refiere al contenido de la vista, no se puede ejecutar.

Cuando está definiendo setContentView () después de que declaró TextView que está haciendo mal porque el objeto Id que está inicializando en TextView está contenido dentro de ese diseño es desconocido en la clase hasta que seConteView () ejecutado.

  • Cambiar el nombre de la tabla Realm
  • Alturas de diseño de tramo de Android para que el diseño ocupa el 50% de la pantalla
  • Prueba de la excepción ClassNotFound
  • Red inalámbrica Wi-Fi de Android
  • ¿Cuándo sale una aplicación para Android?
  • Entero aleatorio: Android
  • Descartar notificación actual en Acción pulsada
  • ¿Dónde se detendrá el código cuando se muera la aplicación desde el Administrador de tareas de Android
  • ¿Cómo comprobar si la cadena introducida por el usuario está en formato mm / dd / aaaa en android?
  • JNI - Llamando a Java desde C ++
  • Vida útil de los objetos en Java vs .Net
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.