Android例外,在底部导航视图中设置了文本颜色

时间:2019-02-07 00:18:13

标签: android xamarin.android

我有一个使用Xamarin.Android编写的Android应用程序,但我认为该问题通常适用于Android。我已经在一些测试设备上安装了该应用程序,并且起初运行良好。但是,在某个时候该应用程序开始不断崩溃。我不知道它是如何进入这种状态的,但是从那以后开始,它会不断发生。因为已经安装了,所以我所能做的就是使用LogCat查看错误。我不能使用Visual Studio调试器,因为它实际上是重新安装了该应用程序,并且不会发生该错误。我一直在尝试将应用程序置于调试模式,以使其恢复为这种状态,但到目前为止,我一直没有成功。

我觉得我需要调试器给我更多的信息来解决这个问题。我很确定,基于下面的错误,问题是底部导航为null,这就是为什么它无法设置文本的原因。但是,我不确定底部导航如何为null,如何进入这种状态以及为什么重启不能解决问题,只有重新安装才能解决。

这是我在LogCat中看到的错误:

LogCat Error

这是axml,我在其中具有底部导航视图,并在其中设置了文本颜色:

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_nav"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_gravity="start"
        android:layout_alignParentBottom="true"
        app:elevation="16dp"
        android:background="@color/backgroundNormal"
        app:itemIconTint="@color/lightText"
        app:itemTextColor="@color/lightText"
        app:menu="@menu/bottom_navigation" />

这是菜单文件夹中的bottom_navigation xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">

   <!--Update strings and icons-->
   <item android:id="@+id/menu_batches"
      android:title="Batches"
      android:icon="@drawable/ic_action_arrow_back"
      app:showAsAction="ifRoom"/>

   <item android:id="@+id/menu_options"
     android:title="Options"
     android:icon="@drawable/ic_action_options"
     app:showAsAction="ifRoom"/>

   <item android:id="@+id/menu_home"
     android:title="Home"
     android:icon="@drawable/ic_action_home"
     app:showAsAction="ifRoom"/>

   <item android:id="@+id/menu_settings"
     android:title="Settings"
     android:icon="@drawable/ic_action_settings"
     app:showAsAction="ifRoom"/>

   <item android:id="@+id/menu_post"
     android:title="Post"
     android:icon="@drawable/ic_action_arrow_forward"
     app:showAsAction="ifRoom"/>

</menu>

关于如何进一步调试或解决问题的任何想法,或者有人从LogCat日志中了解到可能发生的情况以及如何解决它的更好的主意?

谢谢!

1 个答案:

答案 0 :(得分:0)

就我而言,我找到了答案。经过一段令人沮丧的时间损失后,进行搜索,测试等...

我知道基于错误的线索是它与底部导航栏有关。我还发现它仅在发布模式下发生,而在调试模式下不发生。要做的第一件事显然是更改发行版配置设置(更改了链接选项等),但没有一个解决了该问题。

因此,我进行了更多研究,发现底部导航栏依赖Xamarin.Android.Support库,并且它必须为v25或更高版本。我已经满足了这个要求,所以这也不是我的问题。

但是,我发现我也应该拥有Xamarin.Android.Support.Transition库。我注意到这不在我的参考文献中,所以我通过NuGet添加了它,然后猜出了什么……问题已解决。就像这样,一些简单但不明显的初始测试和错误。因此,我希望这对某人有帮助。不知道为什么当我在不久前添加支持库参考时,为什么不包括它,我认为这也是一个自动添加的必需参考。而且,为什么这会导致它在发行而不是调试中失败,我永远不会知道!!!