我试图做关于question的回答,但是对我来说不起作用。
JAVA主要类别:
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.firstFragment:
selectedFragment = new FirstFragment();
break;
case R.id.secondFragment:
selectedFragment = new SecondFragment();
break;
case R.id.thirdFragment:
selectedFragment = new ThirdFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragment,
selectedFragment).commit();
return true;
}
};
public void setBottomNavigation() {
Fragment selectedFragment = new SecondFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment,
selectedFragment).commit();
}
片段JAVA类:
private Dashboard d;
在onClick方法中:
d.setBottomNavigation();
错误消息:
E / Android运行时:致命异常:主要 流程:com.example.appsplashscreen,PID:11366 java.lang.IllegalStateException:无法在ID为“ button2”的视图类androidx.appcompat.widget.AppCompatImageButton上定义的android:onClick属性的父级或祖先上下文中找到onClick(View)方法 在androidx.appcompat.app.AppCompatViewInflater $ DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:436) 在androidx.appcompat.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:393) 在android.view.View.performClick(View.java:7125) 在android.view.View.performClickInternal(View.java:7102) 在android.view.View.access $ 3500(View.java:801) 在android.view.View $ PerformClick.run(View.java:27336) 在android.os.Handler.handleCallback(Handler.java:883) 在android.os.Handler.dispatchMessage(Handler.java:100) 在android.os.Looper.loop(Looper.java:214) 在android.app.ActivityThread.main(ActivityThread.java:7356) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:492) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)