Bundle extra 返回 NULL
Bundle extra is returning NULL
我遇到了问题。
在 class "A" 我有代码:
Intent cInt = new Intent(Add_Product_Page.this, CategoryListActivity.class);
Bundle extra = new Bundle();
extra.putBoolean("for_result", true);
startActivityForResult(cInt, GET_CATEGORY, extra);
此代码来自启动 activity
的另一个 class
Bundle extra = getIntent().getExtras();
if (extra != null) {
isforResult = cInt.getBooleanExtra("for_result", true);
setIsforResult(isforResult);
} else {
setIsforResult(false);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Category");
}
我调试了 Class A 并且我得到 extra 的值为真但是当我被调试时 另一个 class 我在 extra 中得到 NULL
谁能帮帮我。
提前致谢
像这样尝试
isforResult = extra.getBoolean("for_result", true);
并删除此 Intent extra = getIntent();
行它是重复的实例。
试试这个
Bundle extra = getIntent().getExtras();
if (extra != null) {
isforResult = extra.getBoolean("for_result", true);
setIsforResult(isforResult);
} else {
setIsforResult(false);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Category");
}
在Activity中使用
Intent in = new Intent(this, RegistrationActivity.class);
in.putExtra("yourKey", yourValue);
startActivityForResult(in, REQUEST_CODE);
并在 Activity B
Bundle b = getIntent().getExtras();
if (b != null) {
boolean value = getIntent().getBooleanExtra("yourKey", true);
}
startActivityForResult()
的第三个参数 (Bundle option
) 不是 "extra" 束。
有关详细信息,请参阅 Context#startActivity(Intent, Bundle)。
那就是启动配置。
使用 Intent#putExtra(String, boolean)
进行布尔运算。
Intent intent = new Intent(Add_Product_Page.this, CategoryListActivity.class);
intent.putExtra("for_result", true);
startActivityForResult(intent, GET_CATEGORY);
然后
boolean b = getIntent().getBooleanExtra("for_result", false);
这等同于
boolean b = getIntent().getExtras().getBoolean("for_result");
你也可以检查 intent
是否有额外的参数:
intent.hasExtra("for_result");
我遇到了问题。
在 class "A" 我有代码:
Intent cInt = new Intent(Add_Product_Page.this, CategoryListActivity.class);
Bundle extra = new Bundle();
extra.putBoolean("for_result", true);
startActivityForResult(cInt, GET_CATEGORY, extra);
此代码来自启动 activity
的另一个 classBundle extra = getIntent().getExtras();
if (extra != null) {
isforResult = cInt.getBooleanExtra("for_result", true);
setIsforResult(isforResult);
} else {
setIsforResult(false);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Category");
}
我调试了 Class A 并且我得到 extra 的值为真但是当我被调试时 另一个 class 我在 extra 中得到 NULL
谁能帮帮我。
提前致谢
像这样尝试
isforResult = extra.getBoolean("for_result", true);
并删除此 Intent extra = getIntent();
行它是重复的实例。
试试这个
Bundle extra = getIntent().getExtras();
if (extra != null) {
isforResult = extra.getBoolean("for_result", true);
setIsforResult(isforResult);
} else {
setIsforResult(false);
}
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Category");
}
在Activity中使用
Intent in = new Intent(this, RegistrationActivity.class);
in.putExtra("yourKey", yourValue);
startActivityForResult(in, REQUEST_CODE);
并在 Activity B
Bundle b = getIntent().getExtras();
if (b != null) {
boolean value = getIntent().getBooleanExtra("yourKey", true);
}
startActivityForResult()
的第三个参数 (Bundle option
) 不是 "extra" 束。
有关详细信息,请参阅 Context#startActivity(Intent, Bundle)。
那就是启动配置。
使用 Intent#putExtra(String, boolean)
进行布尔运算。
Intent intent = new Intent(Add_Product_Page.this, CategoryListActivity.class);
intent.putExtra("for_result", true);
startActivityForResult(intent, GET_CATEGORY);
然后
boolean b = getIntent().getBooleanExtra("for_result", false);
这等同于
boolean b = getIntent().getExtras().getBoolean("for_result");
你也可以检查 intent
是否有额外的参数:
intent.hasExtra("for_result");