|
Página 1 de 1
|
[ 4 Mensagens ] |
|
[RESOLVIDO] Problemas com TabHost
| Autor |
Mensagem |
|
Evandro Choma
Android application
Data de registro: 11 Jan 2012, 11:44 Mensagens: 88 Localização: Apucarana - PR
|
 [RESOLVIDO] Problemas com TabHost
Boa Tarde Criei um TabHost para o cadastro de clientes, a idéia é abrir ele na primeira aba e as próximas só serem habilitadas depois que salvar os dados da primeira, ou se vir para ela através da alteração fica todas liberadas. Na primeira aba tenho os dados da tabela de cliente, nas outras tenho os dados das tabelas detalhes como referência bancária do cliente, sócios do cliente, linhas do cliente, etc Estou com 2 problemas, primeiro em controlar se posso ou não acionar as outras abas pois indiferente da situação da primeira ao clicar em outra aba ele abre ela. 2º sempre que eu abro uma nova aba ele mostra o conteúdo rápido na tela e fecha a janela, volta na tela anterior de quando foi chamado a primeira aba. Tipo eu tenho a listagem de clientes e desta listagem eu chamo a alteração ou inclusão, ao clicar em qualquer aba, ele abre rápido o visual dele e volta para a listagem. Segue abaixo o código do arquivo das abas. package br. com. afv. bean. editar; import br. com. afv. R; import br. com. afv. bean. listar. ListaClientes; import android. app. ActivityGroup; import android. content. Intent; import android. content. res. Resources; import android. os. Bundle; import android. util. Log; import android. widget. TabHost; import android. widget. TabHost. TabSpec; public class TabClientes extends ActivityGroup { public static TabHost tabHost; public TabSpec tabSpec1, tabSpec2, tabSpec3, tabSpec4, tabSpec5, tabSpec6; public Intent intent1, intent2, intent3, intent4, intent5, intent6; static int tab = -1; private String idRepres; private int idCliente = 0; @Override public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); setContentView (R. layout. cliente_tab); Bundle extras = getIntent (). getExtras(); idRepres = extras. get("representante"). toString(); idCliente = extras. getInt("id"); Log. i("AFV", "TabCliente - Representante: " + idRepres + " - Cliente: " + idCliente ); Resources res = getResources (); tabHost = (TabHost ) findViewById (R. id. tabhost); tabHost. setup(this. getLocalActivityManager()); // Adiciona Tab #1 - Cliente intent1 = new Intent (). setClass(this, EditaClientes. class); intent1. putExtra("representante", idRepres ); intent1. putExtra("id", idCliente ); tabSpec1 = tabHost. newTabSpec("0"). setIndicator("Cliente", res. getDrawable(R. drawable. cli_cliente)). setContent(intent1 ); tabHost. addTab(tabSpec1 ); if (idCliente != 0) { // Adiciona Tab #2 - Ref Bancaria intent2 = new Intent (). setClass(this, EditaClienteRefBancaria. class); intent2. putExtra("representante", idRepres ); intent2. putExtra("id", idCliente ); } tabSpec2 = tabHost. newTabSpec("1"). setIndicator("Ref Banc.", res. getDrawable(R. drawable. cli_bancaria)). setContent(intent2 ); tabHost. addTab(tabSpec2 ); // Adiciona Tab #3 - Ref Comercial if (idCliente != 0) { intent3 = new Intent (this, ListaClientes. class); } tabSpec3 = tabHost. newTabSpec("2"). setIndicator("Ref Com.", res. getDrawable(R. drawable. cli_comercial)). setContent(intent3 ); tabHost. addTab(tabSpec3 ); // Adiciona Tab #4 - Sócios if (idCliente != 0) { intent4 = new Intent (this, ListaClientes. class); } tabSpec4 = tabHost. newTabSpec("3"). setIndicator("Sócios", res. getDrawable(R. drawable. cli_socio)). setContent(intent4 ); tabHost. addTab(tabSpec4 ); // Adiciona Tab #5 - Bens if (idCliente != 0) { intent5 = new Intent (this, ListaClientes. class); } tabSpec5 = tabHost. newTabSpec("4"). setIndicator("Bens", res. getDrawable(R. drawable. cli_bens)). setContent(intent5 ); tabHost. addTab(tabSpec5 ); // Adiciona Tab #6 - Linhas if (idCliente != 0) { intent6 = new Intent (this, ListaClientes. class); } tabSpec6 = tabHost. newTabSpec("5"). setIndicator("Linhas", res. getDrawable(R. drawable. cli_linha)). setContent(intent6 ); tabHost. addTab(tabSpec6 ); tabHost. setCurrentTab(0); }}
_________________ Evandro Choma evandro@choma.com.br
A dúvida é o principio da sabedoria. Aristóteles
Editado pela última vez por Evandro Choma em 24 Ago 2012, 12:17, num total de 1 vezes
|
| 14 Ago 2012, 17:49 |
|
 |
|
rafaeldecker
Android Guru
Data de registro: 28 Jan 2011, 10:42 Mensagens: 722
|
 Re: Problemas com TabHost
Olá, acho que para bloquear a tab, tu podes utilizar o seguinte método:
tabHost.getTabWidget().setEnabled(false);
Depois que tua condição for satisfeita, troca novamente o estado para verdadeiro.
Não sei se entendi bem, mas acredito que seja isso que precisas.
Abraço
|
| 16 Ago 2012, 16:51 |
|
 |
|
Evandro Choma
Android application
Data de registro: 11 Jan 2012, 11:44 Mensagens: 88 Localização: Apucarana - PR
|
 Re: Problemas com TabHost
rafaeldecker escreveu: Olá, acho que para bloquear a tab, tu podes utilizar o seguinte método:
tabHost.getTabWidget().setEnabled(false);
Depois que tua condição for satisfeita, troca novamente o estado para verdadeiro.
Não sei se entendi bem, mas acredito que seja isso que precisas.
Abraço Rafael Abrigado pela dica, mas olha só como eu faço: tabSpec6 = tabHost.newTabSpec("5").setIndicator("Linhas", res.getDrawable(R.drawable.cli_linha)).setContent(intent6); tabHost.addTab(tabSpec6); na realidata dentro do taHost eu adiciono 6 tabSpec, a primeira sempre ficará ativa eu preciso deixar inativas apenas as outras. Com o seu comando eu estarei deixando a tabHost inativo né, eu precisaria apenas algumas abas as outras não.
_________________ Evandro Choma evandro@choma.com.br
A dúvida é o principio da sabedoria. Aristóteles
|
| 24 Ago 2012, 11:39 |
|
 |
|
Evandro Choma
Android application
Data de registro: 11 Jan 2012, 11:44 Mensagens: 88 Localização: Apucarana - PR
|
 Re: Problemas com TabHost
Funcionou perfeitamente como eu gostaria.
Obrigado
_________________ Evandro Choma evandro@choma.com.br
A dúvida é o principio da sabedoria. Aristóteles
|
| 24 Ago 2012, 11:54 |
|
|
|
Página 1 de 1
|
[ 4 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: abruzzi, ac0502, Adeja, allone, andreleitao, Androidthebest, Aparec, baudamix, beeshop, Biel, bocajunior88, bozzano, brenno, brunogh, Caique, car.demarco, carlos.macleod, celiapinheiro, Celso Jr., cesao, Christiane, Clauber, czambroni, danielbfranco, Darkluna, Darth Plagueis, deborazb, Deiapinh, diemesleno, dkclan, dreyer, du_sr, Eduardo - Brasil, EduardoYC, edwarvelarde, eloilton, Eneias, erikopa, faco, Felipe, flaviolemos, francismarconcini, Gabriel, Gabriel Laet, gabrielpg, gedoor, guiba_picolino, Guilherme Cobain, henrique.garcia, igor_meneguzzo, IgorBrum, inaciofernandes, jackstuard, jairom, Jalerson, JAndroid, Jango Fett, jcorreajr, Jenius, joaquimfoto, jorgecardoso, jrsilva, juliancesar, juliomar, JuniorE, leo, Leonardo, Lord, luciano.sml, lufreitas, Mace Windu, malucouto, marcosandreao, Matheus562, maximilianjx, Mayron Cimardi, memnoch, Meticore, Michel, mmiottobarbosa, Moisés Souto, MpassosT, mravel, mrkensley, nino, nivaldo, nullPointer, Nute Gunray, Padawan, Patricia, pfsmorigo, pmzara, r.wil, Rainha Amidala/Padmé, rdchaves, reginaldo, Renan, Ricardo Chikasawa, ricardzanella, Roberto, Robson Florentino, ROGÉRIO RODRIGUES, Romulo, Samantha, sephct, siker C3PO, SirBagda, srsilveira, Synoo [Bot], Tangerina, tiagofalcao, Transtago, vanmars, Velhinho, VILESOFT, wilsond, Wookiees, Yoda e 3 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|