无法从包中检索 Paint.Cap 类型的数据

Unable to retrieve data of type Paint.Cap from a bundle

我到处找这个,找不到任何答案。

我正在通过这样的意图发送数据。

MainActivity.java

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            intent.putExtra("key",Paint.Cap.SQUARE);
            startActivity(intent);

我的问题是检索它,我不知道使用哪种 get 方法,也找不到任何在线资源告诉我。

SecondActivity.java

Bundle extras = getIntent().getExtras();

    if(extras !=null)
    {
        if(extras.containsKey("key"))
        {
            Paint.Cap shape = //which method to use here?

        }
    }

如果有这么傻的东西请告诉我,我还是个初学者,我尽力自己找到它。

谢谢。

关键是Paint.Cap是一个enum,所以它实现了接口Serializable

这意味着您调用的 putExtra 版本采用 Serializable

要再次将其取出,您可以这样做

Paint.Cap shape = (Paint.Cap) extras.getSerializable("key");