我在运行我的项目时在android studio中遇到了ClassCastException。任何人都可以告诉我是什么导致了这个错误。
ClassCastException:com.intellij.psi.impl.source.PsiPlainTextFileImpl无法强制转换为com.intellij.psi.xml.XmlFile
感谢。
答案 0 :(得分:2)
尽快归还。这个问题帮助了我。 Android Studio ClassCastException When Attempting to Open A Layout XML File。我有一个11MB xml的文件值。那就是问题所在。删除后,问题就解决了。
如果您想使用大型XML文件,请在Android Studio的bin文件夹中的idea.properties和vmoptions中添加以下代码。
**Add in idea.properties**
#------------------------------------------------------------- --------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its. editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very. large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=999999
**Add in vmoptions**
-Didea.max.intellisense.filesize=999999 # <--- new line
Reference: https://stackoverflow.com/questions/23057988/file-size-exceeds-configured-limit-2560000-code-insightfeatures-not-availabl
答案 1 :(得分:0)
如果你能分享一些代码片段会更好......
无论如何,就ClassCastException
而言,这意味着你要声明某种类型的变量并将其分配给你在布局xml文件中定义的另一种类型......
例如,在xml中你可能有:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_height="wrap_content"
android:id="@+id/btn1"
android:layout_width="wrap_content">
</Button>
</LinearLayout>
但在将组件连接到代码时:
ImageView img1 = (ImageView)context.findViewById(R.id.btn1);
这将触发ClassCastException
,因为你正在将一个Button转换为ImageView变量,这是你不能理解的!
如果这不能解决您的问题,那么在确定哪个代码段导致错误后发布一些代码段会更好!