私はを持って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
に別の場所に行きたいので、以下のコードを使用しています:Activity
button
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
。
この問題を解決するには、インテントフラグを変更する必要があると思いますが、管理できませんでした。私を助けてください。