我正在尝试在Android Studio中安装我的Android项目而不使用支持库。我的问题是,当我使用片段时,它会期待支持片段并导致应用崩溃。
My Min SDK是14,我的Target SDK是19.我的理解是因为我的目标是这些版本,所以我不需要支持库。如果我错了,请纠正我。
我正在尝试更正此错误java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment
。而且我知道我可以通过仅使用SupportMapFragment
来修复它。但我不想这样做。我想使用常规的MapFragment
所以我的主要问题是如何让它停止期待支持库片段并只使用常规片段。我还有其他片段的问题,而不仅仅是地图。
答案 0 :(得分:12)
我很惊讶没有人能给你一个直截了当的回答。我希望我的回复会有所帮助。
因此,要阻止Android Studio使用支持库,尤其是臭名昭着的AppCompat v7,请执行以下几个步骤:
1)Gradle脚本> build.gradle(模块:app)
2)删除显示compile 'com.android.support:appcompat-v7:22.1.1'
3)res / values / styles.xml>将父值更改为:parent="@android:style/Theme.Holo.Light"
4)AndroidManifest.xml>将应用程序android:theme更改为:android:theme="@android:style/Theme.Holo.Light"
5)进入您的活动并删除导入支持库的行。将其更改为:import android.app.Activity;
6)现在在菜单栏中:Build>重建项目。纠正任何错误,然后继续重建,直到你让它工作,然后运行你的项目,以确保没有崩溃,你的引用是有序的。
对我来说,我收到错误声明我的应用:ShowAsAction不支持左右。我不得不把它改成android:ShowAsAction。只需确保对于任何错误,您仔细阅读并按照错误行旁边弹出的小对话框中的建议进行操作。
答案 1 :(得分:1)
要完全删除支持库,请转到包浏览器窗口,然后在
中您的项目名称 - >库
删除android-support-v4.jar。如果这样做,请使用android.support.v4删除所有导入startng,并将其替换为适当的(非支持)导入。
答案 2 :(得分:1)
如果您从build.gradle
删除了支持库,并且libs
文件夹中没有文件,您确定要删除导入吗?
从错误消息中,您似乎将在您的班级顶部进行以下导入(否则错误不会知道如何转换为支持片段):
import android.support.v4.app.Fragment;
删除它,将其替换为:
import android.app.Fragment;
使用所有支持参考文件执行此操作。
答案 3 :(得分:0)
您可以将此代码添加到应用gradle文件中,以避免使用支持v4 lib
<kendo-grid-column-group [width]="500" [locked]="false" *ngFor="let test of categoryArr" title={{test.categoryName}} <GET VALUE AT ROWINDEX HERE>
<kendo-grid-column field="test.compliant" title="COMPLIant">
<ng- template kendoGridCellTemplate let-column let-columnIndex="columnIndex">
{{test.compliant}}<USE VALUE OF ROWINDEX HERE>
</ng-template>
</kendo-grid-column>
</kendo-grid-column-group>