相关疑难解决方法(0)

通过意图传递枚举或对象(最佳解决方案)

我有一个活动,启动时需要访问两个不同的ArrayLists.两个列表都是我自己创建的不同对象.

基本上我需要一种方法将这些对象从Intent传递给活动.我可以使用addExtras()但这需要一个Parceable兼容类.我可以让我的类通过序列化,但据我所知,这会减慢程序的速度.

我有什么选择?

我可以通过枚举吗?

旁白:有没有办法从Intent将参数传递给Activity Constructor?

android

204
推荐指数
5
解决办法
10万
查看次数

Android E/Parcel:解组时找不到类(仅限三星Tab3)

我一直无法解决为什么会出现这种错误,并且只能在运行4.4.2的三星Tab3设备上解决?它发生在我的MainActivity启动另一个Activity时,并在intent中传递一个Parcelable类,如下所示:

    private void debugTest(TestParcel cfgOptions){
        TestParcel cfgOptions = new TestParcel();
        cfgOptions.setValue(15); //just to verify

        Intent intent = new Intent(MainActivity.this, TestActivity.class);
        intent.putExtra("cfgOptions", cfgOptions);
        startActivityForResult(intent, DBG_TEST);
    }
Run Code Online (Sandbox Code Playgroud)

TestActivity获取可分配的数据,如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test_activity);

    TestParcel cfgOptions = getIntent().getExtras().getParcelable("cfgOptions");
}
Run Code Online (Sandbox Code Playgroud)

TestParcel类:

    import android.os.Parcel;
    import android.os.Parcelable;

    public class TestParcel implements Parcelable {
    private long l_ucs_value = 0;
    private String s_rx_number = "";

    //constructor
    public TestParcel() {
        l_ucs_value = 0;
        s_rx_number = "";
    }

    public void RxNumber(String s) {
        s_rx_number = s;
    }
    public …
Run Code Online (Sandbox Code Playgroud)

android unmarshalling parcel android-intent classnotfoundexception

50
推荐指数
4
解决办法
4万
查看次数

自更新到ADT 22以来,AndroidAnnotations上的ClassNotFoundException生成了类

这个项目在更新到ADT22之前创造了奇迹.我已经失去了一天,因为我不知道我必须下载构建工具,而且我担心因为这个原因我将失去另一个.

当我尝试构建两天前工作的相同代码时,我遇到了这个异常:

com.cidaut.blueparking fatal error : Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk
java.lang.RuntimeException: Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk

  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
  at android.app.ActivityThread.access$600(ActivityThread.java:141)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:5041)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:511)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \ …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception eclipse-adt android-annotations

14
推荐指数
2
解决办法
7193
查看次数

Android:将可序列化对象传递给Activity时的ClassNotFoundException

我有一些来自Android市场的崩溃报告日志,类似于:

Exception class: java.lang.ClassNotFoundException

Source method: PathClassLoader.findClass()

java.lang.RuntimeException: Unable to start activity ComponentInfo{my.app.package/my.app.package.MyActivity}: java.lang.RuntimeException: Parcelable encounteredClassNotFoundException reading a Serializable object (name = my.app.package.a.ae)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2833)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2854)
at android.app.ActivityThread.access$2300(ActivityThread.java:136)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5068)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Parcelable encounteredClassNotFoundException reading a Serializable object (name = my.app.package.a.ae)
at android.os.Parcel.readSerializable(Parcel.java:1951)
at android.os.Parcel.readValue(Parcel.java:1822)
at android.os.Parcel.readMapInternal(Parcel.java:2008)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getBundle(Bundle.java:1078)
at android.app.Activity.onRestoreInstanceState(Activity.java:861)
at android.app.Activity.performRestoreInstanceState(Activity.java:835)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1135)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2811)
... …
Run Code Online (Sandbox Code Playgroud)

java android exception

13
推荐指数
1
解决办法
1万
查看次数

Android java.lang.RuntimeException:Parcelable 读取 Serialized 对象时遇到 ClassNotFoundException

我正在尝试发送Serializable对象从一个应用程序发送到另一个应用程序。

\n\n

我的 Android 应用程序有一个可序列化的类

\n\n
public class MyClass implements Serializable\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我将其中的一个实例用于意图

\n\n
MyClass myObject = new MyClass();\nintent.putExtra("payItem", myObject);\nintent.setAction("com.mypackage.some.action");\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我调用startActiviy时

\n\n
startActivity(intent);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的应用程序崩溃了

\n\n
5-16 11:09:24.738 30673-30673/? E/AndroidRuntime: FATAL EXCEPTION: main\nProcess: system:ui, PID: 30673\njava.lang.RuntimeException: Unable to start activity ComponentInfo{android/com.android.internal.app.ResolverActivity}: java.lang.RuntimeException: Parcelable encountered ClassNotFoundException reading a Serializable object (name = com.mypackage.MyClass)\n    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)\n    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)\n    at android.app.ActivityThread.-wrap11(Unknown Source:0)\n    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)\n    at android.os.Handler.dispatchMessage(Handler.java:105)\n    at android.os.Looper.loop(Looper.java:164)\n    at android.app.ActivityThread.main(ActivityThread.java:6938)\n    at java.lang.reflect.Method.invoke(Native Method)\n    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)\n    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)\n Caused by: java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

java android

5
推荐指数
0
解决办法
4498
查看次数