1

我正在使用 tabview。我的标签小部件视图中有 3 个标签。下面是我的 MainActivity.java

public class MainActivity extends Activity {
TabHost host;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Resources res = getResources();
    host = (TabHost) findViewById (R.id.tabhost);
    host.setup();

    TabSpec tspecMovies = host.newTabSpec("tag1");
    // tspecMovies.setContent(R.id.tab1);
    tspecMovies.setIndicator("Movies", res.getDrawable(R.drawable.movie_icon));
    host.addTab(tspecMovies);

    TabSpec tspecTv = host.newTabSpec("tag2");
    // tspecTv.setContent(R.id.tab2);
    tspecTv.setIndicator("TV",  res.getDrawable(R.drawable.tv_icon));
    host.addTab(tspecTv);

    TabSpec tspecEvents = host.newTabSpec("tag3");
    // tspecEvents.setContent(R.id.tab3);
    tspecEvents.setIndicator("Events",  res.getDrawable(R.drawable.event_icon));
    host.addTab(tspecEvents);


    }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
   }
}

对于每个包含选项卡内容的选项卡,我有 3 个不同的活动。我想知道单击选项卡时如何在 onClick 事件上调用这些活动。

4

3 回答 3

0

找到下面的代码。

    host.setOnTabChangedListener(new OnTabChangeListener() {

                @Override
                public void onTabChanged(String tabId) {

                    if(getString(R.string.tab1).equals(tabId)){

                        //your activity 1
                        // R.string.tab1 is the Id given to tab using values/string.xml file

                    }else if(getString(R.string.tab2).equals(tabId)){

                        // your activity 2
                    }
                }
   }
于 2013-09-07T09:50:42.533 回答
0

您必须为每个选项卡设置意图..

使用此代码

// Android tab                                      //activity which you want to call  
Intent intentAndroid = new Intent().setClass(this, AndroidActivity.class);
TabSpec tabSpecAndroid = tabHost
      .newTabSpec("Android")
      .setIndicator("", ressources.getDrawable(R.drawable.icon_android_config))
      .setContent(intentAndroid);

欲了解更多信息完成教程

于 2013-09-07T09:55:26.127 回答
0

您必须有意识地通过tabspect

TabSpec tspecMovies = host.newTabSpec("tag1");
    // tspecMovies.setContent(R.id.tab1);
    tspecMovies.setIndicator("Movies", res.getDrawable(R.drawable.movie_icon));
    host.addTab(tspecMovies)
   Intent moviesintent=new Intent(this, MoviesActivity.class);
   moviesintent.setContent(videosIntent);

你可以参考这个教程

我希望你能学得很好。

于 2013-09-07T13:20:23.333 回答