getSerializableExtra 返回 null

Max*_*nin 3 java android

我的例子:

public static final String EXTRA_TARGET_FRAGMENT = "fragment_to_show";

    public static void show(Activity pActivity,
            Class<? extends Fragment> fragment) {
        Intent intent = new Intent(pActivity, HomeActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra(EXTRA_TARGET_FRAGMENT, fragment);
        pActivity.startActivity(intent);
    }

    @SuppressWarnings("unchecked")
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        mUpcomingTarget = (Class<Fragment>) intent
                .getSerializableExtra(EXTRA_TARGET_FRAGMENT);

}
Run Code Online (Sandbox Code Playgroud)

mUpcomingTarget --> null,我不明白问题是什么。

Grz*_*Żur 5

的文档putExtra(String, Serializable)

该名称必须包含一个包前缀,例如应用程序 com.android.contacts 将使用诸如“com.android.contacts.ShowAll”之类的名称。

更改您EXTRA_TARGET_FRAGMENT以包前缀开头。