tabhost / tabspec有像onclick / onfocus吗?

时间:2012-02-09 22:54:03

标签: android android-tabhost

我有一个完全正常工作的tabhost / tabspec应用程序(有史以来第一个自制的应用程序:D)查看下面的代码。 现在,以下内容:当按下选项卡NORM时,我想运行几行代码。 tabhost / tabspec是否有像onclick这样的东西。任何帮助表示赞赏

public class AndroidTabLayoutActivity extends TabActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TabHost tabHost = getTabHost();

    // Tab for Dag
    TabSpec dagspec = tabHost.newTabSpec("Dag");
    dagspec.setIndicator("DagRooster", getResources().getDrawable(R.drawable.icon_dag_tab));
    Intent dagIntent = new Intent(this, DagActivity.class);
    dagspec.setContent(dagIntent);


    // Tab for Norm
    TabSpec normspec = tabHost.newTabSpec("Norm");
    // setting Title and Icon for the Tab
    normspec.setIndicator("Normaal", getResources().getDrawable(R.drawable.icon_norm_tab));
    Intent normIntent = new Intent(this, NormActivity.class);
    normspec.setContent(normIntent);


    // Tab for Instel
    TabSpec instelspec = tabHost.newTabSpec("Instel");
    instelspec.setIndicator("Info", getResources().getDrawable(R.drawable.icon_setting_tab));
    Intent instelIntent = new Intent(this, InstelActivity.class);
     instelspec.setContent(instelIntent);


    // Adding all TabSpec to TabHost
    tabHost.addTab(dagspec); // Adding photos tab
    tabHost.addTab(normspec); // Adding songs tab
    tabHost.addTab(instelspec); // Adding videos tab
    tabHost.setCurrentTab(2);

        }

}

2 个答案:

答案 0 :(得分:1)

你只需要像这样将TabHost添加到OnTabChangeListener():

// Exit Application when press Exit tab
    tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {     
        @Override
        public void onTabChanged(String arg0) {
            if (getTabHost().getCurrentTabTag().equals("Exit")){
                finish();                   
            }
        }
    });

答案 1 :(得分:0)

我想你可以使用

tabHost.setOnTabChangedListener(new OnTabChangeListener() {
   @Override
  public void onTabChanged(String arg0) {
   Log.i("param1", "param2" + tabHost.getCurrentTab());
  }     
       });  

您可以使用此SO discussion中讨论的方法。