在Android中向TabActivity添加意图
我查阅了一些关于如何在android中构建选项卡的在线教程,看到了一个符合我要求的教程。我很高兴实施它,而且效果很好。当我想将每个单独的选项卡推送到一个单独的活动时,问题就出现了。我无法启动并打算将控制权移交给他人。我只给出了关于如何制作选项卡的主要代码,因为构造所需的xml在这个问题上没有任何功能 代码如下:在Android中向TabActivity添加意图,android,image,layout,android-tabactivity,Android,Image,Layout,Android Tabactivity,我查阅了一些关于如何在android中构建选项卡的在线教程,看到了一个符合我要求的教程。我很高兴实施它,而且效果很好。当我想将每个单独的选项卡推送到一个单独的活动时,问题就出现了。我无法启动并打算将控制权移交给他人。我只给出了关于如何制作选项卡的主要代码,因为构造所需的xml在这个问题上没有任何功能 代码如下: public class Secondactivity extends TabActivity { private TabHost mTabHost; private void setu
public class Secondactivity extends TabActivity {
private TabHost mTabHost;
private void setupTabHost() {
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
mTabHost.setup();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
setupTabHost();
mTabHost.getTabWidget().setDividerDrawable(se.copernicus.activity.R.drawable.tab_divider);
setupTab(new TextView(this), "Month");
setupTab(new TextView(this), "Week");
setupTab(new TextView(this), "Day");
}
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;
}
}
我如何启动新的意图,以便在单击选项卡时,它应该从Secondactivity
转到WeekActivity
或DayActivity
public class MainTabActivity extends TabActivity
{
private TabHost mTabHost;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.program_guide_tab_activity_layout);
mTabHost = (TabHost) findViewById(android.R.id.tabhost);
setupTab(new TextView(this), getString(R.string.live));
setupTab(new TextView(this), getString(R.string.guide));
setupTab(new TextView(this), getString(R.string.remotes));
setupTab(new TextView(this), getString(R.string.settings));
mTabHost.setCurrentTabByTag(getString(R.string.live));
}
private void setupTab(final View view, final String tag)
{
View tabview = createTabView(mTabHost.getContext(), tag);
if (tag.compareTo(getString(R.string.live)) == 0)
{
Intent intent = new Intent(getApplicationContext(), LiveActivity.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.live)).setIndicator(tabview).setContent(new TabHost.TabContentFactory()
{
public View createTabContent(String tag)
{
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.guide)) == 0)
{
Intent intent = new Intent(getApplicationContext(), ProgramGuide.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.guide)).setIndicator(tabview).setContent(new TabHost.TabContentFactory()
{
public View createTabContent(String tag)
{
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.remotes)) == 0)
{
Intent intent = new Intent(getApplicationContext(), RemoteMultiPanel.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.remotes)).setIndicator(tabview).setContent(new TabHost.TabContentFactory()
{
public View createTabContent(String tag)
{
return view;
}
});
setContent.setContent(intent);
mTabHost.addTab(setContent);
}
if (tag.compareTo(getString(R.string.settings)) == 0)
{
Intent intent = new Intent(getApplicationContext(), SettingsMain.class);
TabSpec setContent = mTabHost.newTabSpec(getString(R.string.settings)).setIndicator(tabview).setContent(new TabHost.TabContentFactory()
{
public View createTabContent(String tag)
{
return view;
}
});
setContent.setContent(intent);
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);
int resId = 0;
ImageView iconImageView = (ImageView) view.findViewById(R.id.imageView1);
if (text.compareTo(context.getString(R.string.settings)) == 0)
{
resId = R.drawable.settings_icon;
}
else if (text.compareTo(context.getString(R.string.remotes)) == 0)
{
resId = R.drawable.remotes_icon;
}
else if (text.compareTo(context.getString(R.string.live)) == 0)
{
resId = R.drawable.live_icon;
}
else if (text.compareTo(context.getString(R.string.guide)) == 0)
{
resId = R.drawable.guide_icon;
}
iconImageView.setImageResource(resId);
return view;
}
}
检查setupTap()方法:
控制引发活动的4种可能意图:
LiveActivity,ProgramGuide…。告诉我它是否有帮助,或者如果您需要任何其他帮助。如果确实有帮助,请不要忘记将其标记为“已解决”:@TalKanel活动是否会导致“ANR keyDispatchingTimedOut”,因为oncreate活动负担过重。