Persistir objeto em SQLite formado por 3 abas através de comando na ActionBar

17 respostas
aboult

Bom dia pessoal.

Estou desenvolvendo um aplicativo e estou utilizando o ActionBar Sherlock com 3 Tabs, em uma tela que seria um Cadastro de Clientes.

E estou trabalhando com Persistencia de Dados em um Banco SQLite utilizando uma classe que recebe os objetos, faz a comunicação com o banco de dados e persiste os dados no banco:

Então no caso para estas tabs eu teria a classe:

Cliente e ClienteEndereco.

A classe ClienteEndereco depende da classe Cliente, então eu possuo um Array do tipo ClienteEndereco e quando eu vou gravar o Cliente eu tenho estes endereços carregados e persisto eles no banco junto com a classe Cliente.

Mas minha dúvida é o seguinte eu consigo fazer as ações da ActionBar por exemplo controlarem as ações das 3 tabs?
Por exemplo eu tenho na ActionBar o icone de checagem que é a gravação, eu preencheria as 3 tabs com dados e clicaria no botão gravar da ActionBar e ela faria a persistência dos dados das 3 tabs. Isso é possível?

Outro detalhe que reparei é que cada vez que eu troco de aba, ele faz um replace da aba, então se preencho algum dado na primeira Tab e mudo de Tab eu perco os dados da Tab inicial. Alguém já fez algo parecido com isso?

E teria pelo menos algum exemplo para me basear?

Telas do Cadastro:

Uma tab de Dados:

Uma tab de Entrega:

Uma tab de Cobrança:

Obrigado desde já.

17 Respostas

aboult

Alguém poderia me ajudar? Ainda estou meio emperrado neste problema.

F

Estou interessado nisso também. Alguém poderia ajudar?

F

aboult, como vc fez isso, poderia me ajudar?

F

Como que faz um layout desse? Alguém podia ajudar?

Artur_Bernardo

Nunca usei este tipo de componente. Preferi criar abas “falsas”. Cada aba é uma activity, e a “abinha” para selecionar as outras é um botão com estilo.
Eu tentaria, ao trocar de aba, jogar para a “sessão” os valores dos campos. E se voltar para a aba, recarregá-los.
Na última aba, no botão salvar, pegaria tudo que está na intent que eu setei e gravaria.

ex: this.getIntent().putExtra( “Nome”, nome );
é bom usar o this.getIntent(), porque se criar uma nova intent, perde os dados que estavam na antiga.

Ou faz salvar no banco a cada mudança de aba! (infelizmente, muita gente faz isso… não acho uma boa)

F

Vc usa o tabhost mesmo?

Artur_Bernardo

não… uso telas normais, e disfarço elas de aba.
A tela tem, acima dela, 4 botões. O ESTILO deles faz com que eles pareçam “abinhas”(não sei o nome daquilo) de um ficheiro. Ao clicar na aba do lado, vai para OUTRA TELA, que tem os mesmos 4 botões. O botão SELECIONADO, da aba atual, é diferente, se mixa com a tela atual, parece que faz parte da mesmo folha.

Quanto a dúvidas no uso do tabhost, procurou tutoriais em inglês, deve ter alguma coisa. Se tu procurar em inglês, no Google, o teu problema, provavelmente alguém terá respondido em um stackoverflow da vida.

F

Eu até achei um exemplo com singleton, ja ouviu falar disso? Mas gostaria de saber como usar esse ActionBar. Como que vc faz essa proeza, rs. Tem como me ensinar a fazer desse jeito que vc faz?

Artur_Bernardo

Singleton é um pattern! Estude-os, é importante.
Quanto a ensinar a fazer do “meu jeito”… bem. Tu sabe trocar de uma tela até outra?
É só isso! Eu só troco de tela quando clico no botão! A única questão é o design dos botões, mas nem fui eu que fiz, tem um designer aqui na empresa.

F

Sei trocar de tela sim.
Eu fiz com sigleton um exemplo que tenho com aba. Vc poderia ver se fiz certo? Eu adaptei um exemplo que achei na net.

F

Mas eu gostaria de saber como fazer o layout do ActionBar conforme o print.

F

Ninguém???

F

aboult, eu tenho uma solução pra você.

F

Artur Bernardo, você poderia me ajudar?

F

Alguém???

F

Alguém poderia me ajudar? Gostaria de saber como foi feito esse layout com as abas e editText. Ja tenho o ActionBar.

F

Alguémmmm???

Criado 29 de novembro de 2012
Ultima resposta 22 de ago. de 2013
Respostas 17
Participantes 3