Vis*_*hnu 8 android xamarin.android xamarin xamarin.forms
该应用程序在 Android 6 或更低版本上运行。但是当在 Android 7 (Nougat) 上运行时,它会抛出运行时异常。
System.InvalidCastException: Unable to convert instance of type 'Android.Widget.LinearLayout' to type 'Android.Support.V7.Widget.Toolbar'.
Run Code Online (Sandbox Code Playgroud)
错误在 Xamarin (Visual Studio 2017) 中抛出,代码如下:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
ToolbarResource = Resource.Layout.toolbar;
TabLayoutResource = Resource.Layout.tabs;
base.OnCreate(bundle); //Runtime error here
.... Other code ...
}
}
Run Code Online (Sandbox Code Playgroud)
我已经对所有 Nuget 包进行了最新更新,但无法确定问题。为了进行测试,我使用的是 Moto G4+(Android 7.0)。有人可以帮忙吗?
编辑1:
工具栏的布局如下:(在资源> 布局> 工具栏.axml 下)。这在 Android 6 的 App 版本发布时就已经存在了。但是现在因为 Android 7 问题访问了应用程序。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Run Code Online (Sandbox Code Playgroud)
android_m2repository_r29.zip通过从https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/下载存储库解决了这个问题,并给出了相同的说明。
我还通过创建一个新的解决方案来测试这个问题,并得到一些样式“资源未找到错误”。这也得到了解决,然后原来的问题也得到了解决。
| 归档时间: |
|
| 查看次数: |
4276 次 |
| 最近记录: |