Tecnologia do Blogger.
RSS

[androidbrasil-dev] Acessar componentes de um Fragment chamado dentro de uma Tab de uma Activity.

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á.

--
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário