Android - Ocultar mostrar layout en fragment programáticamente

 
Vista:
sin imagen de perfil

Ocultar mostrar layout en fragment programáticamente

Publicado por Joaquín (24 intervenciones) el 23/10/2016 22:34:31
Tengo una actividad que abre un comentarios.xml que contiene dos fragment estáticos. El que me interesa es:
1
2
3
4
5
6
7
<fragment android:name="com.example.variablebd.FragmentListItemTitular"
	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:
1
2
3
4
5
public HolderTitulares onCreateViewHolder(ViewGroup viewGroup, int i) {
    View v = LayoutInflater.from(viewGroup.getContext()).inflate(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:
1
2
3
4
5
<LinearLayout
	android:id="@+id/comentsVisibles"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:orientation="vertical">
y
1
2
3
4
5
6
<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:
1
2
3
4
5
6
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.comentesNoVisibles);
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.onCreateView(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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder