在另一个活动中选中OnClickListener

时间:2012-04-16 19:36:27

标签: android class android-tabhost tabwidget onclicklistener

我的工具.java:

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

<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>

第一个标签名为“ToolDadosTubuCirc.java”类,此活动的代码如下:

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);

    }
}

**如何在文件onClickListener“ToolDadosTubuCirc.java”中创建一个事件? 我需要创建一个函数,当人们点击“计算器”选项卡做一些测试数据时,它应该填写“dados”选项卡。

我有3个标签:tab1 = data; tab2 =传奇; tab3 =计算。 corrent选项卡是“数据”。我需要检查用户点击选项卡“计算”的时间,选项卡“数据”的所有字段都已完成。我不知道在其他活动(类)中为TabDados创建onclickListener事件。我不知道tabhost和TabWidget的id。 如何创建此活动?谢谢!**

如果我的tabhost的id是标准的android,我的id也是TabWidget。我无法做这个活动。帮助我。

1 个答案:

答案 0 :(得分:0)

问题不清楚

“我需要创建一个当人们点击标签时的功能”。假设mTabWidget是你的TabWidget控件,而nTabOffset = 0,即你爸爸标签的偏移量:

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

TabHost将实例化您的活动并调用onCreate()。您可以在那里初始化您的活动视图,但如果您希望选项卡单击事件重新启动某些数据更新,您可以通过上面的onClick()方法执行此操作,也许发送在您的活动中注册的广播意图。