Boa tarde pessoal.
Estou tendo dificuldades para trabalhar com o acesso aos componentes dos Fragments que carrego dentro de cada Tab em uma Activity.
Eu estou na dúvida qual é o correto para estruturar isto e como fazê-lo.
Eu tenho uma tela que possui 3 Tabs, cada uma é um Fragment que estão dentro de um FragmentActivity principal. Quando eu clico no botão Buscar da ActioBar da Activity principal eu chamo uma ListView e exibo os Clientes, quando eu seleciono eu carrego o objeto Cliente da Activity principal e carrego o Fragment que está sendo exibido na tela.
Mas as 3 Tabs compõem o mesmo Cliente, então ou eu teria de carregar os Fragments mesmo sem eles ainda não terem sido chamados ou quando eu clicar nos outros 2 tabs eu carrego eles com o Objeto que eu possuo.
Mas quando eu clico em um Tab ele passa no OnCreateView :
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_cadastro_cliente_entrega, null);
}
Retorna o layout e só após isso que ele passa pelo OnActivityCreated:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
try {
enderecoEntrega = (EditText) getActivity().findViewById(R.id.edtEnderecoEntrega);
bairroEntrega = (EditText) getActivity().findViewById(R.id.edtBairroEntrega);
cepEntrega = (EditText) getActivity().findViewById(R.id.edtCEPEnderecoEntrega);
cidadeEntrega = (EditText) getActivity().findViewById(R.id.edtCidadeEnderecoEntrega);
telefoneEntrega = (EditText) getActivity().findViewById(R.id.edtTelefoneEnderecoEntrega);
ufEntrega = (Spinner) getActivity().findViewById(R.id.spinUFEnderecoEntrega);
adapter = ArrayAdapter.createFromResource(getActivity().getBaseContext(), R.array.arrEstados, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ufEntrega.setAdapter(adapter);
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(getActivity().getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
Então lá na Activity principal, quando tendo acessar estes componentes após a seleção da nova Tab, eles ainda estão nulos.
Alguém já teve problema semelhante?
Obrigado desde já.
--
0 comentários:
Postar um comentário