所以我最近才刚开始通过Xamarin开发Android应用程序,而我正在苦苦挣扎。
我创建了这样的应用程序(在Visual Studio 2017社区版中):
新项目-> Visual C#-> Android-> Android应用(Xamarin)->选项卡式应用(Android 5.0)。
然后我将 ImageView 拖到屏幕上的任何地方。我尝试运行它,但崩溃了,但例外:
Unhandled Exception:
Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.design.widget.BottomNavigationView
我尝试过的事情:
1)在新的Visual Studio版本-2019中进行此操作。
2)将其放在空白应用中-确实可以工作,但是我需要我的应用具有选项卡式页面功能,所以这不是一个选择。
任何技巧都值得赞赏。以下是可视化的图像。
Code line where it crashes
This is how it looks from the designer perspective.
Error from designer window
MainActivity.cs:
using Android.App;
using Android.OS;
using Android.Runtime;
using Android.Support.Design.Widget;
using Android.Support.V7.App;
using Android.Views;
using Android.Widget;
namespace App10
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity, BottomNavigationView.IOnNavigationItemSelectedListener
{
TextView textMessage;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Error on this line.
SetContentView(Resource.Layout.activity_main);
textMessage = FindViewById<TextView>(Resource.Id.message);
BottomNavigationView navigation = FindViewById<BottomNavigationView>(Resource.Id.navigation);
navigation.SetOnNavigationItemSelectedListener(this);
}
public bool OnNavigationItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.navigation_home:
textMessage.SetText(Resource.String.title_home);
return true;
case Resource.Id.navigation_dashboard:
textMessage.SetText(Resource.String.title_dashboard);
return true;
case Resource.Id.navigation_notifications:
textMessage.SetText(Resource.String.title_notifications);
return true;
}
return false;
}
}
}
答案 0 :(得分:1)
然后我将ImageView拖到屏幕上的任何地方。我尝试运行它,但由于以下情况而崩溃:
经过测试,我发现这不是您的问题,这应该是VS的错误。
解决方案:
修改 axml 文件后,您需要清理项目,然后重新构建。该错误不会发生。
Clean Solution -> Build Solution
可以解决。