Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2016, 14:36
jlopezisern
 
Fecha de Ingreso: mayo-2014
Mensajes: 45
Antigüedad: 9 años, 11 meses
Puntos: 0
Ocultar mostrar layout en fragment programáticamente

Tengo una actividad que abre un comentarios.xml que contiene dos fragment estáticos. El que me interesa es:
<fragment android:name="com.example.variablebd.FragmentListI temTitular"
android:id="@+id/frgVerComentario"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="20dp"/>
y la clase FragmentListItemTitular infla un xml que contiene un RecyclerView. El RecyclerView utiliza un adaptador (AdaptadorTitulares.java) que infla listitem_titular.xml:
public HolderTitulares onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflat e(R.layout.listitem_titular, null);
HolderTitulares mh = new HolderTitulares(v);
return mh;
}
Este layout tiene un CardView que a su vez contiene una serie de layouts.
Lo que trato es desde la clase FragmentListItemTitular que extend de Fragment mostrar y ocultar dos layouts, que son:
<LinearLayout
android:id="@+id/comentsVisibles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
y
<LinearLayout
android:id="@+id/comentesNoVisibles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
para ello en el fragment FragmentListItemTitular hago lo siguiente:
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.recycler_listatitular, container, false);
//Layouts visibles o invisibles según haya o no comentarios
layComents= (LinearLayout) view.findViewById(R.id.comentsVisibles);
layNoComents= (LinearLayout)view.findViewById(R.id.comentesNoVis ibles);
layNoComents.setVisibility(View.VISIBLE);
Pero en la línea: layNoComents.setVisibility(View.VISIBLE); da error, en el logCat:
Caused by: java.lang.NullPointerException
at com.example.variablebd.FragmentListItemTitular.onC reateView(FragmentListItemTitular.java:47)
Por lo que creo que el problema es que no encuentra la R.id de los layouts.
He estado buscando y no he encontrado ninguna solución satisfactoria. Si alguien pudiera darme alguna indicación se lo agradecería mucho.