gpt4 book ai didi

android - 新实例失败 : no

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:26 24 4
gpt4 key购买 nike

我无法实例化子 Activity 。在 logcat 中,我看到了这一行:

01-22 15:14:38.906: DEBUG/dalvikvm(411): newInstance failed: no <init>()

这是生成该 logcat 的 dalvik 行。

/*
* public T newInstance() throws InstantiationException, IllegalAccessException
*
* Create a new instance of this class.
*/
static void Dalvik_java_lang_Class_newInstance(const u4* args, JValue* pResult)
...
/* find the "nullary" constructor */
init = dvmFindDirectMethodByDescriptor(clazz, "<init>", "()V");
if (init == NULL) {
/* common cause: secret "this" arg on non-static inner class ctor */
LOGD("newInstance failed: no <init>()\n");
dvmThrowExceptionWithClassMessage("Ljava/lang/InstantiationException;",
clazz->descriptor);
RETURN_VOID();
}

这是我在计时器处理程序中激活 Activity 所采取的操作。

// move on to Activation
// ePNSplash is this activity a splash screen

Intent i = new Intent (ePNSplash.this, Activation.class);
startActivity (i);

我要开始的 Activity 是 Activity 之上的 2 个扩展

这是第一个扩展

public abstract class AndroidScreen extends Activity {
....

public AndroidScreen (String title, AndroidScreen parent, AndroidScreen main)
{
super ();

myGlobals = Globals.getGlobals ();

myGlobals.myLogger.logString("AndroidScreen: 001");

myParent = parent;
myMainScreen = main;
myTitle = title;
}

这只是构造函数,似乎是有问题的部分。这是第二个扩展和我要实例化的类。

public class Activation extends AndroidScreen {

public Activation (String title, AndroidScreen parent, AndroidScreen main)
{
super (title, parent, main);
}

我非常困惑,我有一个构造函数,我确保我调用了我的 super 构造函数,这可能是什么错误?

谢谢

朱利安

最佳答案

dalvikvm 正在寻找一个零参数构造函数(这就是他们所说的“nullary”的意思,如“binary”表示 2 个参数,“unary”表示 1 个参数,“nullary”表示 0 个参数)。

在您显示的 fragment 中,您只有一个三参数构造函数。这不好:您将在没有参数的情况下被实例化,因此您需要一个零参数构造函数。

关于android - 新实例失败 : no <init>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2120699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com