ViewPage no actualiza Fragment hijo.
Publicado por Jose (1 intervención) el 13/05/2014 15:44:44
Hola a todos.
Mi problema surge al intentar utilizar un ViewPager dentro de un TabHost, el ViewPager contiene Fragments. El problema surge al manipular el ViewPager y cambiar de pestaña, los dos primeros fragments detro del mismo se muetran en blanco.
ViewPager
FragementStatePagerAdapter
Mi problema surge al intentar utilizar un ViewPager dentro de un TabHost, el ViewPager contiene Fragments. El problema surge al manipular el ViewPager y cambiar de pestaña, los dos primeros fragments detro del mismo se muetran en blanco.
ViewPager
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private void fillViewPager() {
ViewPager viewPager;
ViewPagerAnterioresAdapter viewPagerAdapter;
List<PedidoAnteriorContentFragment>pedidos;
pedidos = new ArrayList<PedidoAnteriorContentFragment>();
listaIds = FactoryService.getDocumentosServices().getDocumentosIds(cliente.id);
viewPager = (ViewPager) getActivity().findViewById(R.id.viewPagerPedidosAnteriores);
viewPagerAdapter = new ViewPagerAnterioresAdapter(getFragmentManager());
for (int i = 0; i < listaIds.size(); i++) {
ClienteDocumentoId clienteDocumentoId;
clienteDocumentoId = new ClienteDocumentoId();
clienteDocumentoId.cliente = cliente;
clienteDocumentoId.documento = FactoryService.getDocumentosServices().getDocumentoId(listaIds.get(i));
pedidos.add(PedidoAnteriorContentFragment.newInstance(clienteDocumentoId));
}
viewPagerAdapter.addPedidosAnteriores(pedidos, listaIds);
viewPager.setAdapter(viewPagerAdapter);
}
FragementStatePagerAdapter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class ViewPagerAnterioresAdapter extends FragmentStatePagerAdapter{
private List<PedidoAnteriorContentFragment> lisContentFragments;
private List<Integer>listaIds;
public ViewPagerAnterioresAdapter(FragmentManager fm) {
super(fm);
lisContentFragments = new ArrayList<PedidoAnteriorContentFragment>();
listaIds = new ArrayList<Integer>();
}
@Override
public Fragment getItem(int arg0) {
return lisContentFragments.get(arg0);
}
@Override
public int getCount() {
return lisContentFragments.size();
}
public void addPedidosAnteriores(List<PedidoAnteriorContentFragment> pedidos, List<Integer> idPedido){
lisContentFragments = pedidos;
listaIds = idPedido;
}
public void setListaPedidos(List<PedidoAnteriorContentFragment> lista){
lisContentFragments = lista;
}
@Override
public CharSequence getPageTitle(int position) {
return "#00000000"+listaIds.get(position);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return ((Fragment)object).getView() == view;
}
}
Valora esta pregunta


0