c# - Xamarin Android:按钮导航视图不起作用
问题描述
大家好,我的名字是谷口。
我想在我的回收站视图页面上实现一个导航视图。
我的按钮导航视图 XML:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/all_puppies"
android:title="@string/action_all"
android:icon="@drawable/ic_home_white_24dp" />
<item android:id="@+id/big_puppies"
android:title="@string/action_big"
android:icon="@drawable/ic_dog_white_24dp" />
<item android:id="@+id/small_puppies"
android:title="@string/action_small"
android:icon="@drawable/ic_small_dog_white_24dp" />
<item android:id="@+id/trained_puppies"
android:title="@string/action_trained"
android:icon="@drawable/ic_trained_white_24dp" />
<item android:id="@+id/active_puppies"
android:title="@string/action_active"
android:icon="@drawable/ic_active_white_24dp" />
</menu>
我的主要 axml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_gravity="start"
android:layout_alignParentBottom="true"
android:background="@android:color/white"
app:menu="@menu/navigation_main" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViwer"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
我的按钮导航监听器:
public class MainActivity : Activity
{
private RecyclerView mRecyclerView;
private RecyclerView.LayoutManager mLayoutManager;
private RecyclerView.Adapter mAdapter;
private List<Email> mEmails;
protected override void OnCreate(Bundle bundle)
{ //set our view from the Main layout Resource
base.OnCreate(bundle);
//Xamarin.Essentials.Platform.Init(this, bundle);
SetContentView(Resource.Layout.activity_main);
var bottomBar = FindViewById<BottomNavigationView>(Resource.Id.bottom_navigation);
bottomBar.NavigationItemSelected += (s, a) => {
};
mRecyclerView = FindViewById<RecyclerView>(Resource.Id.recyclerViwer);
mRecyclerView.AddItemDecoration(new DividerItemDecoration(mRecyclerView.Context, DividerItemDecoration.Vertical));
mRecyclerView.HasFixedSize = true;
SetupList();
//Create our layout Manager
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.SetLayoutManager(mLayoutManager);
RecyclerAdapter mAdapter = new RecyclerAdapter(mEmails, this);
mRecyclerView.SetAdapter(mAdapter);
}
但就行了:
SetContentView(Resource.Layout.activity_main);
给出相应的错误:Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.design.widget.BottomNavigationView
解决方案
为了解决我的问题,我创建了一个新项目,并将最低 android 版本设置为:Oreo 8.1;和公共课 MainActivity :活动
我已更改为:
公共类 MainActivity : AppCompatActivity
推荐阅读
- python - Scrapy 没有获得完整的产品名称,用逗号替换某些字符?
- python-3.x - 使用两种可能的条件创建验证错误
- objective-c - 在目标中组合 C/C++ 代码时的内存管理 - C 项目
- c# - 如何在控制台应用程序(.Net Core 2.2)中将.css文件与DinkToPdf(wkhtmltopdf)一起使用?
- swift - print() 方法在我的 Xcode 中不起作用
- amazon-web-services - 请求 AWS Spot 实例最佳实践?
- javascript - jQuery - 在 Range Track 上更改 CSS
- java - 如何创建一个最小的 Android gradle 项目?
- sql-server - 如何在VS中以调试模式在脚本任务中执行打包任务
- sql - PostgreSQL,在另一个表中创建行时向表中添加行