我正在使用tabview。我的tabwidget视图中有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事件上调用这些活动。
答案 0 :(得分: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
}
}
}
答案 1 :(得分: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);
了解更多信息Complete Tutorial
答案 2 :(得分:0)
您必须使用意图
传递制表符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);
您可以参考此tutorial。
我希望你能学得很好。