I have an MainActivity with 4 fragments, the first fragment is consulting with spinners an webpage to get a json file. After refresh its information the second, third and fourth fragment will consult the internal DB (that has feedback with the json file) and show information. ...But. in the first fragment (have good function) after to check the second (dont have refresh) that have previous information to my fragment refresh, third same and when i check the fourth fragment then information in second and third are refreshed it. I dont know what is the problem.
public class MainActivity extends AppCompatActivity {
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
//fin de tablayout
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.addTab(tabLayout.newTab().setText("Inicio y Seleccion"));
tabLayout.addTab(tabLayout.newTab().setText("Tiempo Semanal"));
tabLayout.addTab(tabLayout.newTab().setText("Suelos y lluvia"));
tabLayout.addTab(tabLayout.newTab().setText("Avisos y Alertas"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
//mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// manejo de tabs
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
final PagerAdapter adapter=new PagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
mViewPager.setAdapter(adapter);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PlaceholderFragment.newInstance(position + 1);
this is my pager adapter
public class PagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;
public PagerAdapter(FragmentManager fm, int NumOfTabs) {
super(fm);
this.mNumOfTabs = NumOfTabs;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
tab_01 tab1 = new tab_01();
return tab1;
case 1:
tab_02 tab2 = new tab_02();
return tab2;
case 2:
tab_03 tab3 = new tab_03();
return tab3;
case 3:
tab_04 tab4 = new tab_04();
return tab4;
default:
return null;
}
}
@Override
public int getCount() {
return mNumOfTabs;
}
}
this is my first fragment in this, you can choose an state with that you get localities when you press locality you get information
public class tab_01 extends Fragment {
String Salida;
public String html;
Spinner misMunicipios;
private Context miContexto;
private View manejadora;
public void workForm02()
{
}
private void RefreshInformation(Context context, String direccion)
{
final View vision= new View(context);
final String ruta=direccion.toString();
(new Thread()
{
.....
}
).start();
}
public void getInformationMT(View miVista)
{
final View vision=miVista;
(new Thread()
{
...
).start();
}
//manejo de llenado de los spinners -----------------------------------------------------
private AdapterView.OnItemSelectedListener myItemSelectedListener = new Spinner.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
int miEstado=0;
String consulta="";
if (parent.getId()==R.id.tab01_tablaselector_spinner_estado)
{
..... Fill localities when choose a state
}
if (parent.getId()==R.id.tab01_tablaselector_spinner_municipio)
{
if (!CadenaComaprativaMunicipio.contentEquals("0")) {
RefreshInformation(parent.getContext(), consulta.toString());
Log.v("MYLOG", "Spinners ==>:Refrscando informacion");
RefrescaInformacion miRecargaInfo = new RefrescaInformacion();
miRecargaInfo.RefrescaInformacion(miContexto, consulta.toString(), 1);
SystemClock.sleep(5000);
FillThisFragment(miContexto, manejadora);
workForm02();
} else
{
}
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
...
}
};
//fin de manejo de llenado del los spinners
private Void FillThisFragment(Context contexto,View miVista) {
---
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
// Inflate the layout for this fragment
View miVista=inflater.inflate(R.layout.tab_01, container, false);
manejadora=miVista;
miContexto=miVista.getContext();
TextView algo=(TextView) miVista.findViewById(R.id.tab01_vision_pronosticoTiempo);
if (algo.length() == 0) {
String miConsulta;
AlmacenDeDatos dataSource= new AlmacenDeDatos(this.getContext());
List<String[]> resultado = new ArrayList<String[]>();
miConsulta = "SELECT count(idestados) from estados";
resultado = dataSource.recuperaInfo2(miConsulta.toString());
String h[] = resultado.get(0);
int i= Integer.parseInt(h[0].toString());
if (i<30)
{
LectorArchivoInicializacion precarga=new LectorArchivoInicializacion();
precarga.lector(miVista.getContext());
SystemClock.sleep(500);
getInformationMT(manejadora);
algo.setText("Recuperando La Informacion, Por Favor Espere.");
SystemClock.sleep(5000);
}
AlmacenamientoDePreferencias verificacion =new AlmacenamientoDePreferencias( this.getContext());
String cadena=verificacion.leerUltimaUbicacion("mihtml");
Log.v("MYLOG","En el inicio la cadena de carga es ===>"+ cadena.toString());
if (cadena.isEmpty() || cadena.length()==0)
{
getInformationMT(miVista);
}
}
this.FillThisFragment(miVista.getContext(),miVista);
Spinner misEstados;
misEstados = (Spinner) miVista.findViewById(R.id.tab01_tablaselector_spinner_estado);
misEstados.setOnItemSelectedListener(myItemSelectedListener);
misMunicipios = (Spinner) miVista.findViewById(R.id.tab01_tablaselector_spinner_municipio);
misMunicipios.setOnItemSelectedListener(myItemSelectedListener);
LinkedList estadosMexicanos=new LinkedList();
estadosMexicanos.add( new Estados_Clase(0,"States"));
estadosMexicanos.add( new Estados_Clase(1,"Aguascalientes"));
estadosMexicanos.add( new Estados_Clase(2,"Baja California"));
estadosMexicanos.add( new Estados_Clase(3,"Baja California Sur"));
estadosMexicanos.add( new Estados_Clase(4,"Campeche"));
estadosMexicanos.add( new Estados_Clase(7,"Chiapas"));
estadosMexicanos.add( new Estados_Clase(8,"Chihuahua"));
estadosMexicanos.add( new Estados_Clase(5,"Coahuila"));
estadosMexicanos.add( new Estados_Clase(6,"Colima"));
estadosMexicanos.add( new Estados_Clase(9, "Distrito Federal"));
estadosMexicanos.add( new Estados_Clase(10,"Durango"));
estadosMexicanos.add( new Estados_Clase(11,"Guanajuato"));
estadosMexicanos.add( new Estados_Clase(12,"Guerrero"));
estadosMexicanos.add( new Estados_Clase(13,"Hidalgo"));
estadosMexicanos.add( new Estados_Clase(14,"Jalisco"));
estadosMexicanos.add( new Estados_Clase(15,"Estado de México"));
estadosMexicanos.add( new Estados_Clase(16,"Michoacán"));
estadosMexicanos.add( new Estados_Clase(17,"Morelos"));
estadosMexicanos.add( new Estados_Clase(18,"Nayarit"));
estadosMexicanos.add( new Estados_Clase(19, "Nuevo León"));
estadosMexicanos.add( new Estados_Clase(20, "Oaxaca"));
estadosMexicanos.add( new Estados_Clase(21,"Puebla"));
estadosMexicanos.add( new Estados_Clase(22,"Querétaro"));
estadosMexicanos.add( new Estados_Clase(23,"Quintana Roo"));
estadosMexicanos.add( new Estados_Clase(24,"San Luis Potosí"));
estadosMexicanos.add( new Estados_Clase(25,"Sinaloa"));
estadosMexicanos.add( new Estados_Clase(26,"Sonora"));
estadosMexicanos.add( new Estados_Clase(27,"Tabasco"));
estadosMexicanos.add( new Estados_Clase(28,"Tamaulipas"));
estadosMexicanos.add( new Estados_Clase(29,"Tlaxcala"));
estadosMexicanos.add( new Estados_Clase(30,"Veracruz"));
estadosMexicanos.add( new Estados_Clase(31,"Yucatán"));
estadosMexicanos.add( new Estados_Clase(32,"Zacatecas"));
ArrayAdapter spinner_adaptador=new ArrayAdapter(miVista.getContext(),android.R.layout.simple_spinner_item, estadosMexicanos);
spinner_adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
misEstados.setAdapter(spinner_adaptador);
AlmacenamientoDePreferencias algox=new AlmacenamientoDePreferencias(miVista.getContext());
String cadenaCarga=algox.leerUltimaUbicacion("mihtml");
Context miContext=this.getActivity();
return miVista;
}
}
this is my fragment 02
public class tab_02 extends Fragment {
public View miVista;
public static final String TAG ="tab_02";
private FragmentIterationListener mCallback=null;
public interface FragmentIterationListener{
public void onFragmentIteration();
}
public static tab_02 newInstance(){
tab_02 f=new tab_02();
f.RellenaForma();
return f;
}
public tab_02()
{
-vacum
}
public void RellenaForma()
{
Fill the form consulting data base inner phone
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
};
@Override
public void onResume ()
{
super.onResume();
this.RellenaForma();
}
@Override
public void onPause ()
{
super.onPause();
}
@Override
public void onStop ()
{
super.onPause();
}
@Override
public void onStart ()
{
super.onPause();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
miVista=inflater.inflate(R.layout.tab_02, container, false);
//----------------
Context miContext=this.getActivity();
------consult database and get information
------ fill fragment view
return miVista;
}
}
tab_03 and tab 04 are same of tab_02