2012-10-31 21 views
0

我用這個代碼時,我開始一個新的活動來發送參數:Intent.getInt()不會對ICS的工作,但它只是對JB

Intent inputForm = new Intent(getActivity(), InputForm.class); 

Bundle b = new Bundle(); 
b.putInt("item", Integer.parseInt(mItem.id)); //Your id 
inputForm.putExtras(b); //Put your id to your next Intent 
startActivity(inputForm); 

我使用此代碼爲讀取參數所述inputForm活動:

Bundle b = getIntent().getExtras(); 
    if (b != null) { 
     int value = b.getInt("item"); 
     ID = value; 
    } 

Toast.makeText(getApplication(), "MIJN ID:" + Integer.toString(ID), Toast.LENGTH_LONG).show(); 

當運行在我的三星標籤10.1 GT-P7510 ID(和我的三星標籤2 10.1 3G GT-P5100)這個代碼是alsways 0,當我在我的銀河運行相同的代碼S3與JB的代碼工作正常。當我使用這個代碼,我得到這個錯誤:

Intent inputForm = new Intent(getActivity(), InputForm.class); 
inputForm.putExtra("item", mItem.id); 
startActivityForResult(inputForm, 0); 

//Read Settings in new Activity 

String message; 

message = getIntent().getExtras().getString("item"); //<---Nullpointerexception 
Toast.makeText(getApplication(), message,Toast.LENGTH_LONG).show(); 

E/AndroidRuntime(2274): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.obat.tabtasks/com.obat.tabtasks.InputForm}: java.lang.NullPointerException

由於提前,

ObAt

+0

你確定mItem.id在Samsung Tab 10.1 GT-P7510上不是零嗎? – Blackbelt

+0

是的,我從主/明細流開始新的活動。我有3片段和每個片段mItem.id是不同的。當我啓動第二個片段時,mItem.id必須是1,而當我啓動第二個片段時,必須是2。 – ObAt

+0

mItem.id是一個字符串?你能在打包之前打印出它的價值嗎? – Blackbelt

回答

0

嘗試:

Intent inputForm = new Intent(getActivity(), InputForm.class); 
inputFrom.putExtra("item",Integer.parseInt(mItem.id)); 
startActivity(inputForm); 
+0

仍然不工作,同樣的問題。 – ObAt

0

你能在

分割線
Intent intent = getIntent(); 
    Bundle bundle = intent.getExtras(); 
    String message = bundle.getString("passed"); 

並再次檢查NPE在哪裏?

+0

最後一行的NPE – ObAt

+0

什麼是Android版平板電腦,以及您從哪裏創建Intent? (getActivity()調用建議不在另一個活動) – rgrocha

+0

4.0.4和這是我的活動公共類TaskDetailFragment擴展片段 – ObAt

相關問題