java - Intent 不可序列化

标签 java android android-intent serialization

所以我有一个 Activity,我想通过一个 Intent 传递它,但它一直崩溃并出现以下异常:java.io.NotSerializableException: android.content.Intent

public class MainActivity extends AppCompatActivity implements Serializable{

/* some code */

     detailIntent = new Intent(MainActivity.this, MovieActivity.class);
     detailIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     detailIntent.putExtra("MainActivityReference",this);
     startActivity(detailIntent);


}

如果你们能指出我的错误,我将不胜感激!提前致谢!

最佳答案

So I have an Activity that I want to pass trough an intent

对不起,那是不可能的。

即使您可以使 Activity 正确实现 Serializable(这是不可能的),通过 Intent extras 传递值也会生成 副本。它是按值传递,而不是按引用传递。您的 MovieActivity 将有一个无用的 MainActivityReference extra,指向您的 MainActivity 的一些不完整、分离的副本。

关于java - Intent 不可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34122540/

相关文章:

java - 如何获得 Ivy :cachepath location without checking if dependencies downloaded

android - iOS 和 Android 图像边缘羽化算法或库,类似于 photoshop 的

java - 在 Java 中过滤 xml 数据的更好方法

android - 将字符串从 edittext 传递到新 Intent 会出现错误

android - 从相机中选取图像时无法提供结果,但从图库中选取图像时没有问题

java - 我怎样才能知道 Selenium WebDriver 正在等待什么?

java - TimeZone 和 Locale 是否只需要调用一次 setDefault() ?

java - 我不知道这个 void 方法是如何工作的

java - YouTube 视频下载(Android/Java)

android - Android 系统是在一个进程中向多个接收者多次发送 BOOT_COMPLETED Intent 还是只发送一次?