2011-07-10 59 views
0

我想有兩個標籤創建應用程序,就像如下:關係 - 安卓

MainClass:

private TabHost tabHost; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tabHost = (TabHost)findViewById(android.R.id.tabhost); 

    TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); 
    TabSpec secondTabSpec = tabHost.newTabSpec("tid2"); 

    firstTabSpec.setIndicator("First Tab Name").setContent(new Intent(this,MainTab.class)); 
    secondTabSpec.setIndicator("Second Tab Name").setContent(new Intent(this,ResultTab.class)); 

    tabHost.addTab(firstTabSpec); 
    tabHost.addTab(secondTabSpec); 
} 

public TabHost getTabHost() { 
    return tabHost; 
} 

FirstTab:

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.maintab); 
    } 

SecondTab:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
setContentView(R.layout.resulttab); 
} 

在第一個選項卡上我有一些按鈕,我計算一些數學運算。在計算完成時想要在SecondTab上顯示結果。

第一個問題: 我不知道,我怎麼能從FirstTab發送數據(字符串)到SecondTab。 我托盤:

  • 創造標籤類自我參數,
  • setOnTabChangedList
  • 和一些類似的 但沒有結果。

問題二(小現在:)): 當我挑選了一些參數(我的按鈕,列表,...)上FirstTab和更改視圖SelectTab,並返回到FirstTab選擇的參數都沒有了。

有人幫我嗎?

回答

1
  1. 您可以發送帶有意圖的字符串。例如:

    Intent intent = new Intent()。setClass(this,Secondtabclass.class); intent.putExtra(「mykey」,「要發送的字符串」);

    startActivity(intent);

,然後在recieving活動你做:

String recievedString = this.getIntent().getStringExtra("mykey"); 
  1. 你可以節省你的清單,不管你如果重寫的onResume和方法的onPause喜歡的狀態。每當你的活動失去焦點時,暫停就會被調用,並且每當你的活動重新開始時,恢復就會被調用。像這樣:

    @Override protected void onResume(){ super.onResume();

    //Do stuff 
    } 
    
+0

非常感謝你 – Kolesar