我如何获得下面的课程来创建链接到活动的标签。它的工作方式,但标签不与任何活动相关联。我需要标签来加载不同的活动吗?
import android.app.TabActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.widget.TextView;
import android.widget.TabHost.TabContentFactory;
public class CustomTabActivity extends TabActivity {
TabHost mTabHost = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
// mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
setupTab(new TextView(this), "Tab 1");
setupTab(new TextView(this), "Tab 2");
setupTab(new TextView(this), "Tab 3");
}
private void setupTab(final View view, final String tag) {
View tabview = createTabView(mTabHost.getContext(), tag);
TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview)
.setContent(new TabContentFactory() {
public View createTabContent(String tag) {
return view;
}
});
mTabHost.addTab(setContent);
}
private static View createTabView(final Context context, final String text) {
View view = LayoutInflater.from(context)
.inflate(R.layout.tabs_bg, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
tv.setText(text);
return view;
}
}
答案 0 :(得分:0)
我需要将setConent设置为Activities而不是Views
不,你没有。通过填充活动标签,您什么都得不到。事实上,这样做会带来更多弊大于利 - 浪费堆空间,堆栈空间和CPU时间而没有附加价值。
现在,如果您不想要,则不必在运行时定义选项卡内容。例如,here is a sample project以与TabHost
本身相同的布局定义标签内容。