底部导航视图为空

玛丽K。

实现时我有一个运行时异常BottomNavigationView

引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法“void com.google.android.material.bottomnavigation.BottomNavigationView.setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView$OnNavigationItemSelectedListener)”

这是我的代码:

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);
    }
}
谢尔盖·格洛托夫

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

重新组织您的代码如下

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

    // everything other
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章