Intent传递对象

时间:2014-02-18 02:21:54

标签: android-intent

晚安,

MainActivity

public Connect connect;

intent.putExtra("connection", connect);

我的classe Connect实现Serializable但在意图中跳转错误“illegalException”......

我需要会话,通过,另一项活动

我不太了解这个问题,我的意图不能正常工作

我的连接有一个执行者,用于会话......

这是我的错误:

02-18 03:13:40.870: E/AndroidRuntime(3521): FATAL EXCEPTION: main
02-18 03:13:40.870: E/AndroidRuntime(3521): java.lang.IllegalStateException: Could not execute method of the activity
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.view.View$1.onClick(View.java:3633)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.view.View.performClick(View.java:4240)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.view.View$PerformClick.run(View.java:17721)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Handler.handleCallback(Handler.java:730)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Looper.loop(Looper.java:137)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.ActivityThread.main(ActivityThread.java:5103)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.lang.reflect.Method.invokeNative(Native Method)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.lang.reflect.Method.invoke(Method.java:525)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at dalvik.system.NativeStart.main(Native Method)
02-18 03:13:40.870: E/AndroidRuntime(3521): Caused by: java.lang.reflect.InvocationTargetException
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.lang.reflect.Method.invokeNative(Native Method)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.lang.reflect.Method.invoke(Method.java:525)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.view.View$1.onClick(View.java:3628)
02-18 03:13:40.870: E/AndroidRuntime(3521):     ... 11 more
02-18 03:13:40.870: E/AndroidRuntime(3521): Caused by: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.example.support.Connect)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Parcel.writeSerializable(Parcel.java:1285)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Parcel.writeValue(Parcel.java:1233)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Parcel.writeMapInternal(Parcel.java:591)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Bundle.writeToParcel(Bundle.java:1646)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Parcel.writeBundle(Parcel.java:605)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.content.Intent.writeToParcel(Intent.java:6831)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1927)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1419)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.Activity.startActivityForResult(Activity.java:3390)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.Activity.startActivityForResult(Activity.java:3351)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.Activity.startActivity(Activity.java:3587)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.app.Activity.startActivity(Activity.java:3555)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at com.example.napkinbeta.MainActivity.onClick(MainActivity.java:60)
02-18 03:13:40.870: E/AndroidRuntime(3521):     ... 14 more
02-18 03:13:40.870: E/AndroidRuntime(3521): Caused by: java.io.NotSerializableException: org.jivesoftware.smack.ConnectionConfiguration
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:979)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:368)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1074)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
02-18 03:13:40.870: E/AndroidRuntime(3521):     at android.os.Parcel.writeSerializable(Parcel.java:1280)
02-18 03:13:40.870: E/AndroidRuntime(3521):     ... 26 more

1 个答案:

答案 0 :(得分:0)

我有使用xmpp连接的连接类

public class Connect {
..
public final static String HOST = 192.168.56.101;
public final static int PORT = 5222;
public ConnectionConfiguration config;
public XMPPConnection connection;
...}

Parceable无法写入“writeXMPP”, 在意图序列化:获取null, sharedpreferences,serialize object:get null, with bundle = get null

1表格

Bundle bun = new Bundle();
bun.putSerializable("CON", (Serializable) connect.getConnectionConfiguration());
intent.putExtras(bun);

2表格

Bundle bun = new Bundle();
bun.putParcelable("connection", (Parcelable) connect);

3表格

Intent.putExtra("connection", connect);

我从3个表单中获取null,如果没有错误100%

取决于我是否可序列化:实现可序列化