2013-06-24 28 views
1

我可以在不使用意圖的情況下將字符串傳遞給Android中的其他活動嗎? 我有意圖的額外麻煩... 他們似乎並不總是工作! 那麼,有沒有其他方法?將字符串傳遞給另一個活動,而不使用Android中的意圖附加功能

我已經試過意圖:

String id = intent.getStringExtra("id"); 
String name = intent.getStringExtra("name"); 

但它可以讓我每次啓動活動時間2種字符串。第一次與其他時間不同。 我可以在不使用意圖的情況下將其他任何事情傳遞給第二個活動嗎?

+1

除了使用'SharedPreferences'或數據庫來保存字符串,答案是否定的,沒有別的辦法。另外,如果你不能使用用於啓動一個Activity的'Intent'中的額外元素來工作,那麼你做錯了事情 - 這不是'intents'工作方式的錯誤。發佈代碼並解釋發生的事情 - 您顯示的兩條線告訴我們什麼都沒有。 – Squonk

+0

嘗試使用共享首選項。檢查一下,它會有很大的幫助。 http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values – lolliloop

+0

Squonk,問題是,我的代碼超過2000行,所以我不能在這裏分享它,但我在這裏問它,因爲我認爲可能會有比使用intent更好的方法,正如你所說的不是真的... –

回答

4

還有其他方法,但意圖的額外是要走的路。他們實際上總是工作得很好:)最好留在這條路上,並學習如何使用Intents的權利。

上發送一個字符串到另一個活動的一個例子:

Intent intent = new Intent(this, SecondActivity.class); 
    intent.putExtra("aKey", value); 
    startActivity(intent); 

並且在第二活動檢索它。

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
... 
    Intent i = getIntent(); 
    if (i.hasExtra("aKey")){ 
     String value = i.getStringExtra("aKey"); 
    } 
} 

只是一直試圖讓這個權利。

+0

謝謝,我想這是唯一的方法去,我必須得到那個權利。 現在的問題是,現在我的代碼非常長且複雜,因此很難調試爲什麼intent不能正常工作,更重要的是,爲什麼只有第一次才能正常工作! –

相關問題