gpt4 book ai didi

java - 为什么我会收到此 ClassCastException?在 eclipse 上工作,但不在 IntelliJ 上工作

转载 作者:行者123 更新时间:2023-12-02 05:29:09 25 4
gpt4 key购买 nike

我有一个名为RiddlesHolder的类:

public class RiddlesHolder extends Application {
ArrayList<String> funnyRiddles = new ArrayList<String>();
ArrayList<String> funnyRiddlesAnswers = new ArrayList<String>();
ArrayList<String> KidsRiddles = new ArrayList<String>();
ArrayList<String> KidsRiddlesAnswers = new ArrayList<String>();
ArrayList<String> AnimalRiddles = new ArrayList<String>();
ArrayList<String> AnimalRiddlesAnswers = new ArrayList<String>();

public void addAnimalRiddles(){
AnimalRiddles.add("1");
AnimalRiddles.add("2");
}

public void addAnimalRiddlesAnswers(){
AnimalRiddlesAnswers.add("1");
AnimalRiddlesAnswers.add("2");
}

public void addFunnyRiddles(){
funnyRiddles.add("1");
funnyRiddles.add("2");
}

public void addFunnyRiddleAnswers(){
funnyRiddlesAnswers.add("1");
funnyRiddlesAnswers.add("2");
}

public void adKidsRiddles(){
KidsRiddles.add("1");
KidsRiddles.add("2");
}

public void addKidsRiddlesASnswers(){
KidsRiddlesAnswers.add("1");
KidsRiddlesAnswers.add("2");
}

public ArrayList<String> getAnimalRiddles() {
return AnimalRiddles;
}

public ArrayList<String> getAnimalRiddlesAnswers() {
return AnimalRiddlesAnswers;
}

public ArrayList<String> getFunnyRiddles() {
return funnyRiddles;
}

public ArrayList<String> getFunnyRiddlesAnswers() {
return funnyRiddlesAnswers;
}

public int getFRiddleByContent(String content) {
return funnyRiddles.indexOf(content);
}


public ArrayList<String> getKidsRiddles() {
return KidsRiddles;
}

public ArrayList<String> getKidsRiddlesAnswers() {
return KidsRiddlesAnswers;
}

public int getKidsRiddleByContent(String content) {
return KidsRiddles.indexOf(content);
}
}

以及 Activity 的 onCreateView 内的这一行:

最终 RiddlesHolder 谜语 = (RiddlesHolder) getActivity().getApplication();

它会抛出以下错误:

java.lang.ClassCastException: android.app.Application cannot be cast to com.tc.tools.RiddlesHolder
at com.tc.gatanki.FunnyRiddles$PlaceholderFragment.onCreateView(FunnyRiddles.java:104)

我在这里缺少什么?我有点困惑,因为这是工作代码。我刚刚从 eclipse 迁移到由 intelliJ 提供支持的新 android studio(由 google 建议,即使它仍处于 BETA 阶段)。为什么我的代码中会出现此错误?我知道我在这里遗漏了一个非常小的部分,但我现在无法发现它。

最佳答案

自定义应用程序注入(inject)由 AndroidManifest.xml 驱动,因此如果不是您的应用程序类被实例化,则可能是由于 AndroidManifest.xml 不正确。你能检查一下它在 Android Studio 中的样子吗,甚至在两个 IDE 生成的 APK 中是什么样子? <application> 上应该有一个属性标记类似 android:name="om.tc.tools.RiddlesHolder" .

关于java - 为什么我会收到此 ClassCastException?在 eclipse 上工作,但不在 IntelliJ 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25710876/

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