Esword
(James Esword)
1
public class MainActivity: Activity
{
public override void onCreate(Bundle savedInstanceState)
{
base.onCreate(savedInstanceState);
ContentView = R.layout.main;
new SubClass().doSth("1234");
}
}
public class SubClass : BaseClass1 {
public override void doSth(string v) {
Log.i("","doSth in Sub: "+v);
base.doSth(v);
/**
LogCat: E/AndroidRuntime( 6976): java.lang.StackOverflowError
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.SubClass.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.BaseClass1.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.SubClass.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.BaseClass1.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.SubClass.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.BaseClass1.doSth()
LogCat: E/AndroidRuntime( 6976): at org.me.androidapplication2.SubClass.doSth()
...
*/
}
}
public class BaseClass1 : BaseClass0<string> {
protected override void doSth(string v) {
Log.i("","doSth in Base1: "+v);
base.doSth(v);
}
}
public class BaseClass0<T> {
protected virtual void doSth(T v) {
Log.i("","doSth in Base0: "+v);
}
}
Elements 8.3.92.1895
Thanks, logged as bugs://73802
bugs://73802 got closed with status fixed.
Esword
(James Esword)
4
This bug can still be reproduced on 8.3.92.1915
Esword
(James Esword)
5
Don’t forget about this one. It’s still unresolved on 8.3.92.1915, but the error message is different:
public class MainActivity: Activity
{
public override void onCreate(Bundle savedInstanceState)
{
base.onCreate(savedInstanceState);
ContentView = R.layout.main;
new SubClass().doSth("1234");
}
}
public class SubClass : BaseClass1 {
public override void doSth(string v) {
Log.i("","doSth in Sub: "+v);
base.doSth(v);
/** Different error message:
An exception of type: java.lang.NoSuchMethodError occurred
Message: {java.lang.NoSuchMethodError: com.test.android.BaseClass1.doSth}
at BaseClass1.doSth()
SubClass.doSth()
MainActivity.onCreate()
Activity.performCreate()
Instrumentation.callActivityOnCreate()
ActivityThread.performLaunchActivity()
ActivityThread.handleLaunchActivity()
ActivityThread.access$800()
ActivityThread$H.handleMessage()
Handler.dispatchMessage()
Looper.loop()
ActivityThread.main()
Method.invokeNative()
Method.invoke()
ZygoteInit$MethodAndArgsCaller.run()
ZygoteInit.main()
NativeStart.main()
...
*/
}
}
public class BaseClass1 : BaseClass0<string> {
protected override void doSth(string v) {
Log.i("","doSth in Base1: "+v);
base.doSth(v);
}
}
public class BaseClass0<T> {
protected virtual void doSth(T v) {
Log.i("","doSth in Base0: "+v);
}
}
ck
(Carlo Kok)
6
Yep. I’ve undone this change as it causes this new issue. I can only suggest creating a workaround for now until I find a proper fix for this.
bugs://73802 got reopened.
bugs://73802 got closed with status fixed.