Android重新加载片段

时间:2020-05-20 21:44:11

标签: java android android-fragments

我试图做关于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)

0 个答案:

没有答案