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

Ask*_*ani 4 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>
Run Code Online (Sandbox Code Playgroud)

use*_*816 5

you can add argType as android.graphics.Bitmap

from the source code of 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);
                }
Run Code Online (Sandbox Code Playgroud)

And Bitmap implements parcelable, so it will work.

您可以删除默认值