[英]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.