2012-04-16 12 views
0

マイTools.java:最初のタブは、クラス「ToolDadosTubuCircと呼ばれるタブOnClickListener

<TabHost 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_above="@+layout/rowLog" 
android:layout_below="@+layout/rowLine" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:padding="5dp" > 

    <TabWidget 
     android:id="@android:id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

    <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="5dp" /> 

</LinearLayout> 

protected void onCreate(Bundle savedInstanceState) { 
// TODO Auto-generated method stub 
super.onCreate(savedInstanceState); 
setContentView(R.layout.tabtools); 

Resources res = getResources(); 
TabHost tabHost = getTabHost(); 
TabHost.TabSpec spec; 
Intent intent; 

// TabDados 
intent = new Intent().setClass(this, ToolDadosTubuCirc.class); 
spec = tabHost.newTabSpec("dados") 
     .setIndicator("Dados", res.getDrawable(R.drawable.icondados)) 
     .setContent(intent); 
tabHost.addTab(spec); 
// TabLegenda 
intent = new Intent().setClass(this, ToolLegendaTubuCirc.class); 
spec = tabHost 
     .newTabSpec("legenda") 
     .setIndicator("Legenda", 
       res.getDrawable(R.drawable.iconlegenda)) 
     .setContent(intent); 
tabHost.addTab(spec); 
// TabCalcular 
intent = new Intent().setClass(this, ToolCalcularTubuCirc.class); 
spec = tabHost 
     .newTabSpec("calcular") 
     .setIndicator("Calcular", 
       res.getDrawable(R.drawable.iconcalcular)) 
     .setContent(intent); 
tabHost.addTab(spec); 
// TabCorrente 
tabHost.setCurrentTab(0);}} 

マイtabtools.xml。このアクティビティには次のコードがあります:

package br.com.mobile4you.engtools; 

import android.app.Activity; 
import android.os.Bundle; 

public class ToolCalcularTubuCirc extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.toolcalculartubucirc); 

    } 
} 

**ファイル内でイベントを作成する方法は、「ToolDadosTubuCirc.java」ですか? 私はタブをクリックすると "calcular"というタブをクリックして、 "dados"タブに記入するテストデータを作成する必要があります。

私は3つのタブがあります:tab1 = data; tab2 =凡例。 tab3 =計算します。 「corrent」タブが「データ」です。私はタブ "データ"のすべてのフィールドに "計算"タブが完了したときにユーザーがクリックしたときにチェックする必要があります。私は他のアクティビティ(クラス)のTabDadosのonclickListenerイベントを作成するかどうかわかりません。私はtabhostとTabWidgetのidを知りません。 このイベントを作成するには?ありがとうございます!**

私のタブホストのIDが標準のアンドロイドで、私のIDがTabWidgetでもある場合。私はこの出来事をすることができません。助けて。

+0

あなたは 'onTabChanged(String tabId)'を使ってみましたか? – amp

答えて

0

質問は不明である

「私は人々がタブをクリックすると、その関数を作成する必要があります」。 mTabWidgetがあなたのTabWidget制御され、かつnTabOffset = 0と仮定し、すなわち、あなたのDADOSタブのオフセット:

mTabWidget.getChildAt(nTabOffset).setOnClickListener(new OnClickListener() 
{ 
@Override 
public void onClick(View v) 
{ 
    // TODO: 
} 
}); 

TabHostがあなたの活動をインスタンス化し、()のonCreateを呼び出します。アクティビティのビューを初期化しますが、タブのクリックイベントでデータの更新を再開するには、上のonClick()メソッドを使用します。おそらく、アクティビティに登録されているブロードキャストインテントを送信します。

+0

私は3つのタブを持っています: tab1 = data; tab2 =凡例。 tab3 =計算します。 「corrent」タブは「データ」です。 「データ」タブのすべてのフィールドが「計算」されたタブをユーザーがクリックしたときにチェックする必要があります。 他のアクティビティ(クラス)のTabDadosのonclickListenerイベントを作成することはわかりません。 tabhostとTabWidgetのIDはわかりません。 このイベントを作成するには? – GDawson