0

我有问题。

在“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);

此代码来自另一个启动活动的类

Bundle extra = getIntent().getExtras();

        if (extra != null) {

            isforResult = cInt.getBooleanExtra("for_result", true);
            setIsforResult(isforResult);

        } else {
            setIsforResult(false);
        }

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Category");

    }

我调试了A 类,我得到了额外的值为true,但是当我调试另一个类时,我得到了额外的NULL

有谁能够帮我。

提前致谢

4

4 回答 4

0

尝试这个

      Bundle extra = getIntent().getExtras();

        if (extra != null) {

            isforResult = extra.getBoolean("for_result", true);
            setIsforResult(isforResult);

        } else {
            setIsforResult(false);
        }

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Category");

    }
于 2015-02-03T07:03:22.297 回答
0

活动 A中使用

Intent in = new Intent(this, RegistrationActivity.class); in.putExtra("yourKey", yourValue); startActivityForResult(in, REQUEST_CODE);

活动 B

Bundle b = getIntent().getExtras();
    if (b != null) {
        boolean value = getIntent().getBooleanExtra("yourKey", true);

    }
于 2015-02-03T07:04:04.450 回答
0

startActivityForResult()的第三个参数(Bundle option)不是“额外的”捆绑。
有关详细信息,请参阅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");
于 2015-02-03T07:10:49.810 回答
0

试试这样

 isforResult = extra.getBoolean("for_result", true);

并删除这一Intent extra = getIntent();行,它是一个重复的实例。

于 2015-02-03T07:00:52.933 回答