2012-01-31 14 views
1

対応するTabActivityAとTabActivityBを持つ2つのタブA、Bがあります。私は3番目のActivityA1を持っていますが、そのタブにはありませんが、ActivityAからの中間アクティビティです。Androidでタブを使用する場合、サブアクティビティから親アクティビティに戻る方法

はここでシーケンス内のコードである

public class AndroidTabLayoutActivity extends TabActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TabHost tabHost = getTabHost(); 

     // Tab for Home 
     TabSpec homeSpec = tabHost.newTabSpec("Home"); 
     homeSpec.setIndicator("Home", getResources().getDrawable(R.drawable.icon_home_tab)); 
     Intent homeIntent = new Intent(this, TabActivityA.class); 
     homeSpec.setContent(homeIntent); 


     // Tab for my cases 
     TabSpec helppec = tabHost.newTabSpec("Help"); 
     // setting Title and Icon for the Tab 
     helppec.setIndicator("Help", getResources().getDrawable(R.drawable.icon_cases_tab)); 
     Intent helpIntent = new Intent(this, TabActivityB.class); 
     mycasesspec.setContent(helpIntent); 


     // Adding all TabSpec to TabHost 
     tabHost.addTab(homeSpec); // Adding home tab 
     tabHost.addTab(help); // Adding help tab 

    } 

ActivityA1 extends Activity 
{ 
} 

TabActivityA extends ActivityGroup 
{ 
..... 
Intent nextScreen = new Intent(getApplicationContext(), ActivityA1.class); 
View view = getLocalActivityManager().startActivity("ActivityA1", nextScreen.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP)).getDecorView(); 
setContentView(view); 
} 

注:私はActivityA1

に同じタブを表示したいので、私はこれをやっている。これは、ActivityA1のタブ(ホームヘルプ)を示してい、しかし、Homeタブをクリックすると、ユーザーはTabActivityAに行きますが、今はActivityA1だけにとどまっています。

ご協力いただければ幸いです!

+0

あなたの質問を明確に説明できますか? – Aerrow

答えて

0

あなたが今質問していることを理解していると思います。単にViewの配列リストを保持し、SetContentViewを呼び出す前にこのリストに追加してから、前のビューに戻る準備ができたらSetContentView(list [count - 1])また、前のビューを削除して処分すると、メモリに永久にハングアップします。

+0

これは現在私が行っているものでFLAG_ACTIVITY_CLEAR_TOPよくこれはActivityA1のタブを表示する結果となりますが、私の質問は、このActivityA1からTabActivityAに戻るにはどうすればいいのでしょうか? – lazyguy

+0

finish()を呼び出します。 – emalamisura

関連する問題