Tab - Android

Fala rapaziada…

Estou com um probleminha, tenho uma tela que tem duas Tabs, abaixo o código que cria as Tabs.

Eu preciso que antes de carregar a ?tab2? faça algumas validações, acontece que primeiro está carregando a ?tab2? para depois fazer as validações. O que eu devo fazer para que as validações da ?tab1? rode antes de carregar a ?tab2??

                mTabHost = getTabHost();
		mTabHost.setOnTabChangedListener(TabHostNovoPedido.this);
		TabHost.TabSpec Spec;
		Intent intent;

		mTabView = LayoutInflater.from(this).inflate(R.layout.tabs_bg_view, null);
		TextView tv = (TextView) mTabView.findViewById(R.id.tabsText);
		intent = new Intent().setClass(this, NovoPedidoActivity.class);
		tv.setText("Pedido:");
		Spec = mTabHost.newTabSpec("tab1").setIndicator(mTabView).setContent(intent);
		mTabView.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_bg_selector));
		mTabHost.addTab(Spec);

		mTabView = LayoutInflater.from(this).inflate(R.layout.tabs_bg_view, null);
		TextView tv1 = (TextView) mTabView.findViewById(R.id.tabsText);
		intent = new Intent().setClass(this, NovoPedidoItemActivity.class);
		tv1.setText("Itens:");
		Spec = mTabHost.newTabSpec("tab2").setIndicator(mTabView).setContent(intent);
		mTabView.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab_bg_selector));
		mTabHost.addTab(Spec);

		mTabHost.setCurrentTab(numTab);

abaixo o metodo das validações na “tab1”

                public void onTabChanged(String tabId) {
		
		if (tabId.equals("tab2")){

			boolean campoBranco = false;
			String formaPg = NovoPedidoActivity.btnFormaPg.getText().toString();
			String condiPg = NovoPedidoActivity.btnCondiPg.getText().toString();
			String tipoPed = NovoPedidoActivity.btnTipped.getText().toString();
			if (formaPg.length() == 0 ){
				campoBranco = true;
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Forma de Pagamento em Branco, Impossível Continuar!");
			}
			if (condiPg.length() == 0 ){
				campoBranco = true;
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Condição de Pagamento em Branco, Impossível Continuar!");
			}
			if (tipoPed.length() == 0 ){
				campoBranco = true;
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Tipo de Pedido em Branco, Impossível Continuar!");
			}
			if (campoBranco) {
				mTabHost.setCurrentTab(0);
			}
		}
	}

valew

Fala rapaziada, bom dia,

resolvido o problema acima.
Agora estou com outro problema ainda na abas (tab).

Eu gostaria de apresentar uma barra de progresso quando fosse clicado na aba “Itens” até pq está demorado um pouco pra trazer os produtos.
Como e onde eu insiro essa barra. Eu ja coloque dentro do else do metodo abaixo antes do mTabHost.setCurrentTab(1) mais não da certo.

Na classe TabHostNovoPedido que estende TabActivity ou nas classes NovoPedidoActivity e NovoPedidoItemActivity.

Abaixo o codigo que resolveu meu problema. Esse codigo está dentro da classe TabHostNovoPedido. A barra de progresso eu apresentaria quando estrasse no else do metodo onClick, pois, ali está abrindo a aba “Itens:”

Desde já obrigado a todos.

[code]
mTabView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

			if (NovoPedidoActivity.btnFormaPg.getText().toString().length() == 0 ){
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Forma de Pagamento em Branco, Impossível Continuar!");
				mTabHost.setCurrentTab(0);
			}else if (NovoPedidoActivity.btnCondiPg.getText().toString().length() == 0 ){
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Condição de Pagamento em Branco, Impossível Continuar!");
				mTabHost.setCurrentTab(0);
			}else if (NovoPedidoActivity.btnTipped.getText().toString().length() == 0 ){
				new Dialogs(TabHostNovoPedido.this).showDialogAlerta("Tipo de Pedido em Branco, Impossível Continuar!");
				mTabHost.setCurrentTab(0);
			}else{
				mTabHost.setCurrentTab(1);
			}
		}
	});[/code]