2013-07-15 33 views
4

我通過Intent傳遞一些值,在某些情況下,通過它傳遞的值返回null。該值在設置意圖之前不是null。以下是我設定意圖的代碼。通過Intent傳遞的值有時返回null

Intent propertyIntent = new Intent(mContext , SomeActivity.class); 
propertyIntent.putExtra(START_MODE_TAG,MODE_EDIT_RECORDING); 
propertyIntent.putExtra(ACTIVITY_MODE_TAG, "dm"); 
propertyIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
propertyIntent.putParcelableArrayListExtra("det_list", detList); 
mContext.startActivity(propertyIntent); 

這裏是被用來獲取意圖的代碼值

passedModeName = getIntent().getStringExtra(DMApplication.START_MODE_TAG); 

START_MODE_TAG值的所有返回正確地返回null休息。我也嘗試設置在onNewIntent()。但沒用。我在這

public static final String ACTIVITY_MODE_TAG="activity_mode"; 
public static final String START_MODE_TAG="StartMode"; 
public static final String MODE_NEW_RECORDING="new"; 
public static final String MODE_EDIT_RECORDING="edit"; 
public static final String MODE_REVIEW_RECORDING="review"; 
public static final String MODE_COPY_RECORDING="copy"; 
public static final String MODE_LAUNCH_RECORDING="launch"; 
+0

然後'MODE_EDIT_RECORDING'必須爲空。 –

+0

你可以發佈你的常數定義嗎? – Ridcully

+0

不知道爲什麼它會有所作爲(它對我來說),但嘗試限定所有的關鍵字符串,例如'START_MODE_TAG =「com.my.package.StartMode」' –

回答

0

使用

常量你應該得到下列方式的額外數據。

Bundle extras = getIntent().getExtras(); 
selectedGroupId = extras.getString(DMApplication.START_MODE_TAG); 
+0

感謝您的答案:不工作.... – Aju

0

檢查鑰匙* DMApplication.START_MODE_TAG *是一樣的* START_MODE_TAG *和MODE_EDIT_RECORDING不爲空。

+0

我檢查了它,直到我在Intent上設置這些值纔有價值。 – Aju