我有一个使用Xamarin.Android编写的Android应用程序,但我认为该问题通常适用于Android。我已经在一些测试设备上安装了该应用程序,并且起初运行良好。但是,在某个时候该应用程序开始不断崩溃。我不知道它是如何进入这种状态的,但是从那以后开始,它会不断发生。因为已经安装了,所以我所能做的就是使用LogCat查看错误。我不能使用Visual Studio调试器,因为它实际上是重新安装了该应用程序,并且不会发生该错误。我一直在尝试将应用程序置于调试模式,以使其恢复为这种状态,但到目前为止,我一直没有成功。
我觉得我需要调试器给我更多的信息来解决这个问题。我很确定,基于下面的错误,问题是底部导航为null,这就是为什么它无法设置文本的原因。但是,我不确定底部导航如何为null,如何进入这种状态以及为什么重启不能解决问题,只有重新安装才能解决。
这是我在LogCat中看到的错误:
这是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日志中了解到可能发生的情况以及如何解决它的更好的主意?
谢谢!
答案 0 :(得分:0)
就我而言,我找到了答案。经过一段令人沮丧的时间损失后,进行搜索,测试等...
我知道基于错误的线索是它与底部导航栏有关。我还发现它仅在发布模式下发生,而在调试模式下不发生。要做的第一件事显然是更改发行版配置设置(更改了链接选项等),但没有一个解决了该问题。
因此,我进行了更多研究,发现底部导航栏依赖Xamarin.Android.Support库,并且它必须为v25或更高版本。我已经满足了这个要求,所以这也不是我的问题。
但是,我发现我也应该拥有Xamarin.Android.Support.Transition库。我注意到这不在我的参考文献中,所以我通过NuGet添加了它,然后猜出了什么……问题已解决。就像这样,一些简单但不明显的初始测试和错误。因此,我希望这对某人有帮助。不知道为什么当我在不久前添加支持库参考时,为什么不包括它,我认为这也是一个自动添加的必需参考。而且,为什么这会导致它在发行而不是调试中失败,我永远不会知道!!!