Hello my question is about my app is crash after I am trying to hit next fragment. Code is compiling but i don't know how to solve this problem. Something with onclicklistner. I tried some solutions but didn't succeed.
This is my code:
ProfileFragment.java
package com.statusionew.statusio.fragments;
import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button;
import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.statusionew.statusio.ForgetchangePasswordActivity; import com.statusionew.statusio.LoginActivity; import com.statusionew.statusio.R; import com.statusionew.statusio.MainActivity;
import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick;
public class ProfileFragment extends BaseFragment implements View.OnClickListener{
    FirebaseAuth auth;
    FirebaseUser user;
    ProgressDialog PD;
    @BindView(R.id.sign_out_button) Button btnSignOut;
    @BindView(R.id.change_password_button) Button btnChangePass;
    @BindView(R.id.change_email_button) Button  btnChangeEmail;
    @BindView(R.id.delete_user_button) Button btnDeleteUser;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.activity_setting, container, false);
        ButterKnife.bind(getActivity(), view);
        ((MainActivity) getActivity()).updateToolbarTitle("Profile");
        return view;
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        auth = FirebaseAuth.getInstance();
        user = auth.getCurrentUser();
        PD = new ProgressDialog(getActivity());
        PD.setMessage("Loading...");
        PD.setCancelable(true);
        PD.setCanceledOnTouchOutside(false);
        btnSignOut.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.sign_out_button)
            public void onClick(View view) {
                auth.signOut();
                FirebaseAuth.AuthStateListener authListener = new FirebaseAuth.AuthStateListener() {
                    @Override
                    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                        FirebaseUser user = firebaseAuth.getCurrentUser();
                        if (user == null) {
                            Intent intent = new Intent(getActivity(), LoginActivity.class);
                            startActivity(intent);
                        }
                    }
                };
            }
        });
        btnChangePass.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.change_password_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 1));
            }
        });
        btnChangeEmail.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.change_email_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 2));
            }
        });
        btnDeleteUser.setOnClickListener(new View.OnClickListener() {
            @Override
            @OnClick(R.id.delete_user_button)
            public void onClick(View view) {
                startActivity(new Intent(getActivity().getApplicationContext(), ForgetchangePasswordActivity.class).putExtra("Mode", 3));
            }
        });
    }
    @Override
    public void onClick(View v) {
        if (auth.getCurrentUser() == null) {
            startActivity(new Intent(getActivity(), LoginActivity.class));
            getActivity().finish();
        }
        super.onResume();
    } }
this the log that say 'Attempt to invoke virtual method'-
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.statusionew.statusio, PID: 9206
                  java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
                      at com.statusionew.statusio.fragments.ProfileFragment.onCreate(ProfileFragment.java:65)
                      at android.support.v4.app.Fragment.performCreate(Fragment.java:2339)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1377)
                      at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1109)
                      at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:996)
                      at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:99)
                      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2364)
                      at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
                      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
                      at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:781)
                      at com.statusionew.statusio.views.FragNavController.executePendingTransactions(FragNavController.java:631)
                      at com.statusionew.statusio.views.FragNavController.switchTab(FragNavController.java:142)
                      at com.statusionew.statusio.views.FragNavController.switchTab(FragNavController.java:158)
                      at com.statusionew.statusio.MainActivity.switchTab(MainActivity.java:149)
                      at com.statusionew.statusio.MainActivity.access$100(MainActivity.java:30)
                      at com.statusionew.statusio.MainActivity$1.onTabSelected(MainActivity.java:87)
                      at android.support.design.widget.TabLayout.dispatchTabSelected(TabLayout.java:1165)
                      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1158)
                      at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1128)
                      at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1427)
                      at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1537)
                      at android.view.View$PerformClick.run(View.java:22429)
                      at android.os.Handler.handleCallback(Handler.java:751)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6119)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Connected to process 10580 on device emulator-5554
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/art: Not late-enabling -Xcheck:jni (already on)
W/art: Unexpected CPU variant for X86 using defaults: x86
W/System: ClassLoader referenced unknown path: /data/app/com.statusionew.statusio-1/lib/x86
D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
V/FA: Registered activity lifecycle callback
I/FirebaseInitProvider: FirebaseApp initialization successful
I/InstantRun: starting instant run server: is main process
E/InstantRun: IO Error creating local socket at com.statusionew.statusio
              java.io.IOException: Address already in use
                  at android.net.LocalSocketImpl.bindLocal(Native Method)
                  at android.net.LocalSocketImpl.bind(LocalSocketImpl.java:308)
                  at android.net.LocalServerSocket.<init>(LocalServerSocket.java:48)
                  at com.android.tools.ir.server.Server.<init>(Server.java:91)
                  at com.android.tools.ir.server.Server.create(Server.java:85)
                  at com.android.tools.ir.server.InstantRunContentProvider.onCreate(InstantRunContentProvider.java:49)
                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
                  at android.app.ActivityThread.installProvider(ActivityThread.java:5853)
                  at android.app.ActivityThread.installContentProviders(ActivityThread.java:5445)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5384)
                  at android.app.ActivityThread.-wrap2(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6119)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
 
     
    