Bom dia todos,
-- estou utlizando o FragmentPageAdapter e não estou conseguindo pegar os dados que preciso no meu onPause e no onResume do meu Fragment.
Pelos teste que fiz o Fragment só entra em onPause quando eu fecha a Activity e só entra em onResume quando o fragment é criado, quando mudo do primeiro para o segundo meu fragment não entra em onPause.
Como faço para que isso aconteça?
Segue minha classe:
package loadti.com.br.loadmobile.views;
import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.app.FragmentStatePagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.ActionBarActivity;import android.support.v7.widget.Toolbar;import android.util.Log;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;
import com.gc.materialdesign.widgets.Dialog;
import it.neokree.materialtabs.MaterialTab;import it.neokree.materialtabs.MaterialTabHost;import it.neokree.materialtabs.MaterialTabListener;import loadti.com.br.loadmobile.Fragments.FragCabPedido;import loadti.com.br.loadmobile.Fragments.FragDadosUser;import loadti.com.br.loadmobile.Fragments.FragFinanceiroPedido;import loadti.com.br.loadmobile.Fragments.FragItensPedido;import loadti.com.br.loadmobile.Fragments.FragObservacaoUser;import loadti.com.br.loadmobile.Serealizable.PerfilUserSerial;import loadti.com.br.loadmobile.Serealizable.UsuarioSerial;import loadti.com.br.loadmobile.Fragments.FragDadosUser.callbackDadosUser;
/** * Created by TI on 26/03/2015. */public class ContainerUsuario extends ActionBarActivity implements MaterialTabListener, callbackDadosUser {
private UsuarioSerial usuario; MaterialTabHost tabHost; ViewPager pager; ViewPagerAdapterUsuario adapter;
/*Fragments*/ private FragDadosUser fragDadosUser; private FragObservacaoUser fragObservacaoUser;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.container_usuario);
/*Instancia o objeto Usuario*/ usuario = new UsuarioSerial();
ativarTabs();
}
private void ativarTabs() {
/* Ativa a navegacao por tabs */
Toolbar barUsuario = (Toolbar) this.findViewById(R.id.toolbarCadUser); if (barUsuario != null) { this.setSupportActionBar(barUsuario); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setTitle(R.string.cadUser); getSupportActionBar().setDisplayShowTitleEnabled(true);
tabHost = (MaterialTabHost) this.findViewById(R.id.tabHostCadUser); pager = (ViewPager) this.findViewById(R.id.pagerCadUser); // inicializa o pager view pager adapter = new ViewPagerAdapterUsuario(getSupportFragmentManager()); pager.setAdapter(adapter); pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override public void onPageSelected(int position) { /*Quando o usuario cliar muda a guia*/ tabHost.setSelectedNavigationItem(position);
}
});
// insert all tabs from pagerAdapter data for (int i = 0; i < adapter.getCount(); i++) { tabHost.addTab(tabHost.newTab().setText(adapter.getPageTitle(i)).setTabListener(this)); }
}
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_usuario, menu); return true; }
/*Item do Menu*/ @Override public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.salvar_usuario: /*Salvar usuario*/
// salvarUsuario(); return true;
case R.id.cancelar_usuario: /*Desiste de incluir o usuario*/ /*Cancela inclusao*/ cancelarIncluir();
return true; }
return super.onOptionsItemSelected(item); }
/*Implementacao da interface do Fragmento FragDadosUser*/ @Override public UsuarioSerial onUsuario() { return usuario; }
/*Metodo que veriifca se o usuario preciosnou o botao voltar do tablet*/ @Override public void onBackPressed() {
/*O Usuario esta em edicao*/ if (usuario.isUpdate()) {
AlertDialog.Builder alerta = new AlertDialog.Builder(ContainerUsuario.this); alerta.setTitle("Atenção"); alerta.setMessage(R.string.sair_sem_salvar); alerta.setCancelable(false); alerta.setPositiveButton("Sim", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
usuario = new UsuarioSerial(); usuario.setPerfil(new PerfilUserSerial()); usuario.setUpdate(false);
} });
alerta.setNegativeButton("Não", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
} });
AlertDialog alert = alerta.create(); alert.show();
}
}
@Override protected void onResume() { super.onResume(); /*Verifica se o usuario esta em edicao*/ if (usuario.getId_usuario() == 0) {
usuario.setUpdate(true);
} }
/*Cancela a inclusao do usuario*/ private void cancelarIncluir() {
AlertDialog.Builder alert = new AlertDialog.Builder(ContainerUsuario.this); alert.setTitle("Atenção"); alert.setMessage(R.string.sair_sem_salvar); alert.setCancelable(false); alert.setPositiveButton("Sim", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
usuario = new UsuarioSerial(); usuario.setPerfil(new PerfilUserSerial()); usuario.setUpdate(false); finish();
} }); alert.setNegativeButton("Não", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
} });
AlertDialog alerta = alert.create(); alerta.show();
}
/*Metodos para controlar as tabs*/ @Override public void onTabSelected(MaterialTab tab) {
pager.setCurrentItem(tab.getPosition());
}
@Override public void onTabReselected(MaterialTab tab) {
}
@Override public void onTabUnselected(MaterialTab tab) {
}
private class ViewPagerAdapterUsuario extends FragmentPagerAdapter {
public ViewPagerAdapterUsuario(FragmentManager fm) { super(fm); }
public Fragment getItem(int num) { switch (num) { case 0: Log.d("ContainerPedido", "Retorno FragCabPedidos" + num); fragDadosUser = new FragDadosUser(); return fragDadosUser;
case 1: Log.d("ContainerPedido", "Retorno FragItens" + num); fragObservacaoUser = new FragObservacaoUser(); return fragObservacaoUser; default: } return null;
}
@Override public int getCount() { return 2; }
@Override public CharSequence getPageTitle(int position) {
switch (position) { case 0: Log.d("ContainerUsuario", "Retorno" + position); return "Dados do Usuário";
case 1: Log.d("ContainerUsuario", "Retorno" + position); return "Observação";
default:
}
return null;
}
}
}
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário