java - getSerializableExtra 返回 null

标签 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);

}

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

最佳答案

putExtra(String, Serializable) 的文档说

The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".

将您的 EXTRA_TARGET_FRAGMENT 更改为以包前缀开头。

关于java - getSerializableExtra 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293791/

相关文章:

java - 在 selenium 中使用 String.ValueOf() 将 Float 转换为 String 显示异常 - java.lang.ClassCastException : java. lang.Float 无法转换为 [C

java.util.hashmap$values 无法在 android putExtra 方法中转换为 java.io.serialized

java - 如何使用 firebase 实时数据库的字符串列表进行查询

android - 当 URL 来自 Internet 服务器时,如何将自定义 css 应用于 android Webview?

java - 传给 StringBuilder.append 哪个更好?

java - 如何在netbeans中创建gradle多项目?

android - 主题中的 TextAppearance

Android Geocoder 无法在 Nexus 6P 和 Android Nougat 7.0 中运行

android - 如何在 android 中使用内部 expat XML 解析器?

java - 如何使用 Graph API 将图像上传到 Facebook