Xamarin表单模式导航导致异常

时间:2016-07-05 08:40:05

标签: c# forms xamarin xamarin.forms prism

当我尝试在我的Xamarin Forms应用中使用Prism useModalNavigation设置为true时,我会在执行命令时收到ClassCastException

它正在我的应用中的其他两个地方工作。我执行此方法的方式如下:

命令

private DelegateCommand _filterCommand;
public DelegateCommand FilterCommand 
    => _filterCommand ?? (_filterCommand = new 
        DelegateCommand(ExecuteFilterCommand).ObservesCanExecute(vm => CanNavigate));

ExecuteFilterCommand

private void ExecuteFilterCommand()
{
    CanNavigate = false;
    _navigationService.NavigateAsync("MainNavigationPage/FilterLinesPage", null, true);
    CanNavigate = true;
}

这是我为其他过滤器命令执行此操作的确切方法,但这会导致异常:

--- End of managed exception stack trace ---
java.lang.ClassCastException: android.widget.ImageView cannot be cast to     android.view.ViewGroup
    at android.support.v4.app.BackStackRecord.configureTransitions(BackStackRecord.java:1165)
at android.support.v4.app.BackStackRecord.beginTransition(BackStackRecord.java:1057)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:662)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:152)
at android.app.ActivityThread.main(ActivityThread.java:5507)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我不知道造成问题的是Prism还是Xamarin Forms,因为这对我来说有点新鲜......它正在应用程序的其他方面工作。

我知道,那个人遇到了我here的确切问题。

我只是尝试使用Xamarins自己的导航,并且我收到了完全相同的错误,因此我将此归咎于Xamarin Forms。我正在使用AppCompat,也许我需要更新这个?

它在iOS上运行正常 - 所以这只是一个Android问题。

1 个答案:

答案 0 :(得分:0)

如果您使用的是自定义渲染器,请务必在原生Android控件上设置ID以避免此问题。

这是一个非常罕见的例外,我们只是在模型窗口被推到地图上时才会看到。然而,好消息是:修复工作正在进行中,在下一个稳定版本中不再是问题。