간접적으로 활동을 확장합니다
-
20-09-2019 - |
문제
사용 편의성을 위해 특정 클래스로 안드로이드 활동을 확장하여 추가 기능을 제공 한 다음 해당 클래스로 주요 활동을 확장하고 싶습니다.
class SuperActivity extends Activity {
//Very nice extra functions
}
//Class defined in the manifest.xml
class ApplicationActivity extends SuperActivity {
//Start the application
}
이것을 할 방법이 있습니까? 현재 위의 양식에서는 예외를 찾지 못한 수업을 제공합니다 ..
logcat :
10-08 12:23:28.316: ERROR/AndroidRuntime(678): Uncaught handler: thread main exiting due to uncaught exception
10-08 12:23:28.336: ERROR/AndroidRuntime(678): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ntx.app/ntx.app.AppActivity}: java.lang.ClassNotFoundException: ntx.app.AppActivity in loader dalvik.system.PathClassLoader@437601e8
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.os.Looper.loop(Looper.java:123)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread.main(ActivityThread.java:4203)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at java.lang.reflect.Method.invoke(Method.java:521)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at dalvik.system.NativeStart.main(Native Method)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): Caused by: java.lang.ClassNotFoundException: ntx.app.AppActivity in loader dalvik.system.PathClassLoader@437601e8
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316)
10-08 12:23:28.336: ERROR/AndroidRuntime(678): ... 11 more
Appactivity가 Android.app.Activity를 확장 할 때 오류가 발생하지 않습니다.
해결책
문제를 해결하면서 프로젝트 종속성을 추가했지만 대신 .jar 파일을 직접 추가해야합니다.
의존성과는 아무런 관련이 없었으며, 슈퍼 클래스 코드에서는 잡을 수없는 예외가있었습니다.
제휴하지 않습니다 StackOverflow