En primer lugar: sí, leí todos los otros hilos sobre este tema. Y no solo los de este sitio ... (ya ves, estoy un poco frustrado)
La mayoría de ellos vienen con el consejo de usar en android:idlugar de solo iden el archivo XML. Yo hice.
De otros, aprendí, eso View.findViewByIdfunciona de otra manera Activity.findViewById. Yo también manejé eso.
En mi location_layout.xml, yo uso:
<FrameLayout .... >
<some.package.MyCustomView ... />
<LinearLayout ... >
<TextView ...
android:id="@+id/txtLat" />
...
</LinearLayout>
</FrameLayout>
En mi actividad hago:
...
setContentView( R.layout.location_layout );
y en mi clase de vista personalizada:
...
TextView tv = (TextView) findViewById( R.id.txtLat );
que devuelve null. Al hacer esto, mi actividad funciona bien. Entonces quizás sea por las diferencias Activity.findViewByIdy View.findViewById. Así que almacené el contexto pasado al constructor de la vista de aduanas localmente e intenté:
...
TextView tv = (TextView) ((Activity) context).findViewById( R.id.txtLat );
que también regresó null.
Luego, cambié mi vista personalizada para ampliar en su ViewGrouplugar Viewy cambié location_layout.xmlpara permitir que TextViewsea un hijo directo de mi vista personalizada, para que View.findViewByIdfuncione como se supone. Sorpresa: no resolvió nada.
Entonces, ¿qué diablos estoy haciendo mal?
Agradeceré cualquier comentario.