底部导航在 android 中不起作用?

Bottom navigation not working in android?

我创建了一个自定义底部导航菜单,如下所示

    <item
        android:id="@+id/ic_home"
        android:icon="@drawable/ic_home"
        android:title="">
    </item>

    <item
        android:id="@+id/ic_search"
        android:icon="@drawable/ic_search"
        android:title="">
    </item>

    <item
        android:id="@+id/ic_camera"
        android:icon="@drawable/ic_camera"
        android:title="">
    </item>

我已将其包含在我的主 activity 中,并且我使用了框架布局来创建片段,当我单击项目时它会发生变化

activity_main.xml 如下文件

       <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="53dp">

        </FrameLayout>

        <!--bottom navigartion-->
        <include layout="@layout/layout_bottom_navigation_view" />

我的 MainActivity.java 文件如下 我做错了什么

public class MainActivity extends AppCompatActivity {

    BottomNavigationViewEx bottomNavigationViewEx;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bottomNavigationViewEx = (BottomNavigationViewEx) findViewById(R.id.bottom_nav_view_bar);
        BottomNavigationViewHelper.setupBottmNavigationView(bottomNavigationViewEx);

        BottomNavigationViewEx.OnNavigationItemSelectedListener onNavigationItemSelectedListener
                = new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction transaction = fragmentManager.beginTransaction();


                switch (item.getItemId()) {
                    case R.id.ic_home :
                        transaction.replace(R.id.container, new HomeFragment()).commit();
                        return true;
                    case R.id.ic_search :
                        transaction.replace(R.id.container, new SearchFragment()).commit();
                        return true;
                    case R.id.ic_camera :
                        transaction.replace(R.id.container, new CameraFragment()).commit();
                        return true;
                    case R.id.ic_alert :
                        transaction.replace(R.id.container, new AlertFragment()).commit();
                        return true;
                    case R.id.ic_user :
                        transaction.replace(R.id.container, new UserFragment()).commit();
                        return true;
                }
                return false;
            }
        };

    }
}

有什么帮助吗?

在框架布局中包含layout_bottom_navigation_view或另一种方式设置fragmelayout边距底部是layout_bottom_navigation_view

的高度
  <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="53dp">
      <include layout="@layout/layout_bottom_navigation_view" />
    </FrameLayout>

已编辑:使用 bottomNavigationViewEx 而不是 BottomNavigationViewEx 然后 onclick 将起作用

 bottomNavigationViewEx.OnNavigationItemSelectedListener onNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {
   }