我有一个 TabActivity
,第一个标签是 ActivityGroup
,我正在使用下面的代码;
public class MyTabActivity extends TabActivity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
TabHost.TabSpec tabSpec;
Intent intent;
Resources resources = getResources();
intent = new Intent(MyTabActivity.this, MyActivityGroup.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
tabSpec = tabHost.newTabSpec("tab1");
tabSpec.setIndicator("Tab1", resources.getDrawable(R.drawable.ic_launcher));
tabSpec.setContent(intent);
tabHost.addTab(tabSpec);
intent = new Intent(MyTabActivity.this, SecondTab.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
tabSpec = tabHost.newTabSpec("tab2");
tabSpec.setIndicator("Tab2", resources.getDrawable(R.drawable.ic_launcher));
tabSpec.setContent(intent);
tabHost.addTab(tabSpec);
tabHost.setCurrentTab(0);
}
}
在我的 ActivityGroup
中,我想在 button
点击后再去另一个 Activity
因此我使用下面的代码:
public class MyActivityGroup extends ActivityGroup
{
private Button button;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_group);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent intent = new Intent(MyActivityGroup.this, FirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = getLocalActivityManager().startActivity("firstActivity", intent).getDecorView();
setContentView(view);
}
});
}
}
它有效,但有一个问题,当我在 FirstActivity
中点击第一个标签时,我不能去 MyActivityGroup
. 但是,例如,单击 SecondTab
后,如果单击第一个选项卡,我可以转到 MyActivityGroup
.
为了解决这个问题,我想我应该改变Intent标志,但我无法管理它 . 请帮我 .
2 回答
如果它是第一个标签,那么应该在中设置
..
...
你能告诉我一些吗?我实现了这样:
您是否也想查看活动组本身?
好的,这是: