如何使用安全参数将“位图”作为参数传递

时间:2019-10-31 14:39:29

标签: android android-architecture-components android-jetpack android-architecture-navigation android-safe-args

我想使用安全参数将Bitmap作为参数传递给另一个片段。传递位图的正确argType是什么。

<fragment
        android:id="@+id/nextFragment"
        android:name="com.example.----.NextFragment"
        android:label="fragment_next"
        tools:layout="@layout/fragment_next" >
        <argument
            android:name="image"
            app:argType="???"
            android:defaultValue="???" />
</fragment>

1 个答案:

答案 0 :(得分:0)

您可以将argType添加为android.graphics.Bitmap

来自NavType.java的源代码

Class clazz = Class.forName(className);
                if (Parcelable.class.isAssignableFrom(clazz)) {
                    return new ParcelableType(clazz);
                } else if (Enum.class.isAssignableFrom(clazz)) {
                    return new EnumType(clazz);
                } else if (Serializable.class.isAssignableFrom(clazz)) {
                    return new SerializableType(clazz);
                }

并且位图实现可拆分,因此它将起作用。

您可以删除defaultValue