实现时我有一个运行时异常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] 删除。
我来说两句