簡體   English   中英

為什么會收到此ClassCastException? 在eclipse上工作,但不是在智能上工作

[英]Why am I getting this ClassCastException? Working on eclipse, but not in intelliJ

我有一個名為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);
    }
}

並且該行在活動的onCreateView

final RiddlesHolder riddles = (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階段)。 為什么我的代碼中出現此錯誤? 我知道我在這里錯過了一個很小的部分,但是我無法在這個時刻發現它。

自定義應用程序注入由AndroidManifest.xml驅動,因此,如果不是實例化您的應用程序類,則可能是由於AndroidManifest.xml錯誤。 您可以檢查它在Android Studio中的外觀,還是在兩個IDE生成的APK中的外觀? <application>標記上應該有一個屬性,例如android:name="om.tc.tools.RiddlesHolder"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM