2011-11-16 24 views
1

我有一個TabActivity,它在2個Tabs中加載2個ListActivity。當我點擊ListActivity中的一個列表項時,我想把這個值傳回給TabActivity。什麼是最好的方法來做到這一點?我正在考慮使用BroadcastReceiver。有什麼想法嗎?Android將Tabs傳遞給Main TabActivity的最佳方法

+0

廣播接收器將會正常工作。因爲它爲我做了 – Javanator

+2

「BroadcastReceiver」一個簡單的事情?一些醜陋的方式。只是使用intent或sharedpreference。 – user370305

回答

0

同意Javanator。我做了BroadcastReceiver的方式,它的工作原理。單調乏味,但有效。

0

使用意向傳遞值。

Bundle b=new Bundle(); 
Intent i=new Intent(this, AnotherActivity.class); 
b.putDouble("data", datavalue);//putting the datavalue 
i.putExtras(b); 

和接收值AnotherActivity作爲

double value = this.getIntent().getDoubleExtra("data", defaultvalue); 

間改變相互兩個活動的線條和獲取數據。

+0

當您加載TabActivity時,它會加載兩個活動,如果它已經加載,如何傳遞意圖? – Maurice

+0

沒有必要它會工作,但你可以試試看。 – Sunny

0

Still Tab-activity已棄用。建議您使用Fragments而不是此類,它提供了您的所有需求。您可以使用v4支持庫來達到這些目的。 謝謝

+0

使用2.1更新。 – Maurice

+0

您仍然可以通過[android支持包](http://developer.android.com/sdk/compatibility-library.html)使用片段: _支持包包含靜態「支持庫」,您可以將其添加到Android應用程序爲了使用舊版平臺版本不可用的API –

2

考慮這個例子

public class MyTabActivity extends TabActivity 
{ 
     public void onCreate(Bundle b) 
     { 
      //implementation 
     } 
     public void setSomeObject(Object someOjbect) 
     { 
       //will get an object and act accordinglt 
     } 
} 

,並在任何您的孩子Activity你可以使用設置Object像這樣的:

MyTabActivity myTabParent = (MyTabActivity)this.getParent(); 
myTabParent.setSomeObject(anyObject); 
相關問題