【发布时间】:2015-08-10 22:38:56
【问题描述】:
所以我在活动 A 中有一个布尔值设置为 false。然后,在另一个活动中,我想将该值更改为 true。然后,当我按下返回按钮回到活动 A 时,该布尔值现在为真,它在 onCreate 中运行。
这就是我的意思,活动 A
private static boolean newCardcheck = false;
@Override
protected void onCreate(Bundle savedInstanceState)
{
}
public static void setNewCardcheck() {
newCardcheck = true;
}
@Override
public void onResume() {
super.onResume();
if(newCardcheck)
{
Toast.makeText(this,"hey everyone",Toast.LENGTH_SHORT).show();
}
else
{
alfunction();
sendCards(storeCards);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode == RESULT_LOAD_IMAGE)
{
newCardcheck = true;
}
}
活动 B:
@Override
public void onBackPressed()
{
MyActivity.setNewCardcheck();
super.onBackPressed();
setResult(Activity.RESULT_OK, getIntent());
finish();
}
所以当我回击时,我希望 newCardcheck 为真并运行“if”语句而不是 else 语句。
希望大家帮忙。
谢谢。
我还尝试将 setNewCard() 方法放在 onClick 中,它也不起作用。
【问题讨论】:
-
当您导航回第一个活动时,
onCreate(...)可能不会再次运行。你应该把这个条件放在onResume()。 -
@Kevin,你指的是哪个条件?
-
if(newCardcheck) ...
标签: android android-activity boolean boolean-logic