Ver mensagens sem resposta | Ver tópicos ativos Hoje é 22 Mai 2013, 18:14



Este tópico está trancado, você não pode editar mensagens ou enviar respostas.  [ 4 Mensagens ] 
 [RESOLVIDO] Problemas com TabHost 
Autor Mensagem
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 11:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem [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
Perfil WWW
Android Guru
Android Guru

Data de registro: 28 Jan 2011, 10:42
Mensagens: 722
Mensagem 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
Perfil
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 11:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem 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
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 11:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem 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
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Este tópico está trancado, você não pode editar mensagens ou enviar respostas.   [ 4 Mensagens ] 

Quem está online

Usuários vendo este fórum: albinoneto, alex.abrantes, am2net, americano, Anakin Skywalker, ARAKINIDIO, arilsonm, avsouza, Berbert, berchielli, bernardodauer, Blackstorm, boydivalor, bruno.abd, careisjr, Carlos Almeida, cfranca, compto, dallari, dalmeidabr, Damiani Oliveira, danilosv, deivisonrpg, diemesleno, dreyer, edervieira, emersonalencar, Erik Patekoski, erosvaldo, estratecnologia, Everton Moreira, Faroli, Felipe Ferreira, Felipe Marcondes, frances135, fredjpa, Gabriel Teófilo, Gnomo, gustavo, gutodias, hbarroco, heliopassos, Henrique Ferraz, HyagoRules, Idelto, IgorBrum, itsN, jairom, JMurray, jonasminas, Jorge Machin, Josinhaz, Juninhooooo, juniorfranca, kennedyximenes, linukiss, luiz.lago, luizcarlosvb, luizcesar, luizneto79, marcosandreao, marinho5, marlovich, mateusff, mauriciomag, MBetioli, mcurtis, Mig, mirelli, nglaubervasc, Nice, nobrejack, Nute Gunray, oliverlessa, onedroid, pedro, Petto, pgsnit, phfmendes, PicsearchDroid, rafael.cioban, raragao, rerp7, ricardo, rixargolo, rlecheta, ROGÉRIO RODRIGUES, Roll, romulotales, SirBagda, srmoreira, suissa, talves, tchou, thiagotomais, Tiago Sousa Roch, vilmartr, weber, wender, wesley.messias, wil, WiseNut, wylken, YaCy e 4 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

Procurar por:

© 2007 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi