7
我有一個class2這是由類1當涉及點擊時。我必須將class1中的一些參數/對象傳遞給class2。我只知道沒有傳遞參數選項的標準方式。Android:在類之間傳遞參數
// launch the full article
Intent i = new Intent(this, Class2.class);
startActivity(i);
我有一個class2這是由類1當涉及點擊時。我必須將class1中的一些參數/對象傳遞給class2。我只知道沒有傳遞參數選項的標準方式。Android:在類之間傳遞參數
// launch the full article
Intent i = new Intent(this, Class2.class);
startActivity(i);
您可以使用Intent.putExtra
(它使用Bundle
)來傳遞額外的數據。
Intent i = new Intent(this, Class2.class);
i.putExtra("foo", 5.0f);
i.putExtra("bar", "baz");
startActivity(i);
然後,一旦你是你的新Activity
內:
Bundle extras = getIntent().getExtras();
if(extras !=null)
{
float foo = extras.getFloat("foo");
String bar = extras.getString("bar");
}
這使您可以通過基礎數據的活動。但是,您可能需要更多工作來傳遞任意對象。
這意味着只有簡單的類型(int,String,double)可以被傳遞但不是類?即使BigMap不能被傳遞? – Yang 2010-04-06 05:06:52
您也可以傳遞可串行化和「可分類」的對象。 http://developer.android.com/reference/android/content/Intent.html 我會環顧四周,看看我能找到什麼讓傳遞對象更容易。一個考慮是在活動類上創建一個靜態字段,您可以在開始活動之前將其設置爲對象的引用。 – 2010-04-06 05:13:48
使用旅行車。它使得它非常簡潔:https://github.com/beplaya/Wagon – beplaya 2014-03-18 22:23:24