当前位置: 首页 > 知识库问答 >
问题:

BottomNavigationView为空

万俟招
2023-03-14

实现BottomNavigationView时出现运行时异常,

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;

import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;

import com.google.android.material.bottomnavigation.BottomNavigationView;

public class MainActivity extends AppCompatActivity {
    private BottomNavigationView bottom_nav;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        bottom_nav=  findViewById(R.id.bottom_nav);
        getSupportFragmentManager().beginTransaction().add(R.id.fragTutucu, new Frag1());

        bottom_nav.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                Fragment fragment = null;
                switch (menuItem.getItemId()){
                    case R.id.manuel:
                        fragment= new Frag1();
                        return true;
                    case R.id.photo:
                        fragment= new Frag2();
                        return true;
                    case R.id.training:
                        fragment= new Frag3();
                        return true;

                }
                getSupportFragmentManager().beginTransaction().replace(R.id.fragTutucu,fragment);
                return true;

            }
        });


        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

共有1个答案

拓拔泓
2023-03-14

您正在尝试在设置活动视图之前查找BottomNavigationView。您应该先设置内容视图。

按照以下方式重新组织代码

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

    // everything other
}
 类似资料:
  • 我不希望第一项被自动选中。 我该怎么做? 尝试 没起作用

  • Google发布了带有BottomNavigationView的新支持库v25 有什么方法可以去除物品标签吗?

  • 我有一个包含五个项目的BottomNavigationView。默认行为是仅显示所选项目的标签,并且所有五个项目之间的间距根据所选项目的不同而不同。 我想要一个更像iOS上UITabBar的底部栏。使用BottomNavigationView可以做到这一点吗?或者您可以推荐一些其他库来解决这一问题吗?

  • 问题内容: 我正在使用带有底部导航视图的简单应用程序。我有3个带有文本的片段,我想在Botton Navigation中选择一个项目时启动它们,但是我不知道在MainActivity.java中写什么。所有片段都具有.xml布局和.java。我搜索了一些代码,写了代码,搜索了视频,但没有成功。 我正在学习Fragments和UI Dynamic,因此我在Android Studio中使用“底部导航

  • 我需要帮助组合ViewPager和BottomNavigationView。但当我在ViewPager工作时滑动屏幕时,该片段会与另一个片段堆叠在一起。我怎么解决这个? 堆叠碎片 扫描前的正常片段 下面是我的代码: mainactivity.java activity_main.xml ViewPagerAdapter.java 提前道谢!

  • 我正在使用bottomNavigationView,现在我想使用setOnNavigationItemReselectedListener,但它已被弃用。任何人都可以指导我应该使用什么。期待中的感谢