所以我有一个 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/