我用這個代碼時,我開始一個新的活動來發送參數: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
你確定mItem.id在Samsung Tab 10.1 GT-P7510上不是零嗎? – Blackbelt
是的,我從主/明細流開始新的活動。我有3片段和每個片段mItem.id是不同的。當我啓動第二個片段時,mItem.id必須是1,而當我啓動第二個片段時,必須是2。 – ObAt
mItem.id是一個字符串?你能在打包之前打印出它的價值嗎? – Blackbelt