Segue anexo o código fonte da criança da tab.
Obrigado
Evandro Choma
package br.com.afv.bean.editar;
import br.com.afv.R;
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);
// 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
intent3 = new Intent().setClass(this, EditaClienteRefComercial.class);
intent3.putExtra("representante", idRepres);
intent3.putExtra("id", idCliente);
tabSpec3 = tabHost.newTabSpec("2").setIndicator("Ref Com.",res.getDrawable(R.drawable.cli_comercial)).setContent(intent3);
tabHost.addTab(tabSpec3);
// Adiciona Tab #4 - Sócios
intent4 = new Intent().setClass(this, EditaClienteSocios.class);
intent4.putExtra("representante", idRepres);
intent4.putExtra("id", idCliente);
tabSpec4 = tabHost.newTabSpec("3").setIndicator("Sócios", res.getDrawable(R.drawable.cli_socio)).setContent(intent4);
tabHost.addTab(tabSpec4);
// Adiciona Tab #5 - Bens
intent5 = new Intent().setClass(this, EditaClienteBem.class);
intent5.putExtra("representante", idRepres);
intent5.putExtra("id", idCliente);
tabSpec5 = tabHost.newTabSpec("4").setIndicator("Bens", res.getDrawable(R.drawable.cli_bens)).setContent(intent5);
tabHost.addTab(tabSpec5);
// Adiciona Tab #6 - Linhas
intent6 = new Intent().setClass(this, EditaClienteLinha.class);
intent6.putExtra("representante", idRepres);
intent6.putExtra("id", idCliente);
tabSpec6 = tabHost.newTabSpec("5").setIndicator("Linhas", res.getDrawable(R.drawable.cli_linha)).setContent(intent6);
tabHost.addTab(tabSpec6);
if (idCliente == 0) {
tabHost.getTabWidget().setEnabled(false);
}
tabHost.setCurrentTab(0);
}
}
Em 27 de agosto de 2012 15:15, Otávio Mendes <otaviommendes@gmail.com> escreveu:
Então nos mostre o stacktraceOn 27/08/2012, at 14:58, Evandro Choma <evandrochoma@gmail.com> wrote:Estou controlando certinho quando pode ou não acessar determinada aba, meu problema agora está simplesmente no fato de que se eu acessar qualquer aba que não seje a primeira ele dá Force Close.
--
[]´s
Evandro Choma
Engenheiro da ComputaçãoEm 14 de agosto de 2012 16:56, Evandro Choma <evandrochoma@gmail.com> escreveu:
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.
O código pode ser visualizado no link: http://www.portalandroid.org/comunidade/viewtopic.php?f=44&t=20992
Obrigado
Evandro Choma







0 comentários:
Postar um comentário