I am creating a social app like TikTok. I am following a tutorial and I ran into a problem. My news feed won't load. I keep getting this error E/RecyclerView: No adapter attached; skipping layout. From what I read on other questions, something is wrong with the adapter.
I don't see any problems it was working fine a while ago. I read the other answers under different questions and still can't find a solution to my problem. Can someone point it out to me please ?
public class HomeActivity extends AppCompatActivity {
    private ArrayList<MediaObject> mediaObjectList = new ArrayList<>();
    private VideoPlayerRecyclerView recyclerview;
    public static ApiInterface apiInterface;
    private static final int CAMERA_PERMISSION_REQUEST_CODE = 88888;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        apiInterface = ApiClient.getApiClient().create(ApiInterface.class);
        init();
    }
    private void init() {
        if (Build.VERSION.SDK_INT >= 19 && Build.VERSION.SDK_INT < 21) {
            setWindowFlag(this, WindowManager.LayoutParams. FLAG_TRANSLUCENT_STATUS, true);
        }
        if (Build.VERSION.SDK_INT >= 19){
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
        }
        // Make fully Android Transparent Status Bar
        if (Build.VERSION.SDK_INT >= 21) {
            setWindowFlag(this, WindowManager.LayoutParams. FLAG_TRANSLUCENT_STATUS, false);
            getWindow().setStatusBarColor(Color.TRANSPARENT);
        }
        //////////////////////////// recycler view//////////////////////////////
        recyclerview = (VideoPlayerRecyclerView) findViewById(R.id.recyclerview);
        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(RecyclerView.VERTICAL);
        recyclerview.setLayoutManager(layoutManager);
        layoutManager.setReverseLayout(true);
        layoutManager.setStackFromEnd(true);
        VerticalSpacingItemDecorator itemDecorator = new VerticalSpacingItemDecorator(0);
        recyclerview.addItemDecoration(itemDecorator);
        ///////////////////////////////////////////////
        SnapHelper mSnapHelper = new PagerSnapHelper();
        mSnapHelper.attachToRecyclerView(recyclerview);
        //////////////////////////////////////////////
        LoadAllPosts();
    }
    private void LoadAllPosts() {
        Call<Users> call = apiInterface.performAllPosts();
        call.enqueue(new Callback<Users>() {
            @Override
            public void onResponse(Call<Users> call, Response<Users> response) {
                if (response.isSuccessful()) {
                    mediaObjectList = response.body().getAllPosts();
                    if (mediaObjectList != null) {
                        recyclerview.setMediaObjects(mediaObjectList);
                        VideoPlayerRecyclerAdapter adapter = new VideoPlayerRecyclerAdapter(mediaObjectList, initGlide());
                        recyclerview.setAdapter(adapter);
                        adapter.notifyDataSetChanged();
                        recyclerview.setKeepScreenOn(true);
                        recyclerview.smoothScrollToPosition(mediaObjectList.size() + 1);
                    } else {
                        Toast.makeText(HomeActivity.this, "No Posts to show you.", Toast.LENGTH_SHORT).show();
                    }
                }
                else {
                    Toast.makeText(HomeActivity.this, "Network Error 1.", Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void onFailure(Call<Users> call, Throwable t) {
                Toast.makeText(HomeActivity.this, "Network Error 2.", Toast.LENGTH_SHORT).show();
            }
        });
    }
    public static void setWindowFlag(@NonNull Activity activity, final int bits, boolean on) {
        Window win = activity.getWindow();
        WindowManager.LayoutParams winParams = win.getAttributes();
        if(on){
            winParams.flags |= bits;
        } else {
            winParams.flags &= ~bits;
        }
        win.setAttributes(winParams);
    }
    private RequestManager initGlide(){
        RequestOptions options = new RequestOptions()
                .placeholder(R.color.colorPrimaryDark)
                .error(R.color.colorPrimaryDark);
        return Glide.with(this)
                .setDefaultRequestOptions(options);
    }
    @Override
    protected void onDestroy() {
        if(recyclerview !=null)
            recyclerview.releasePlayer();
        super.onDestroy();
    }
    @Override
    protected void onStop() {
        super.onStop();
        if(recyclerview !=null)
            recyclerview.releasePlayer();
        finish();
    }
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        finish();
    }
    public void followingBtn(View view) {
        Intent intent = new Intent(HomeActivity.this, FollowingActivity.class);
        startActivity(intent);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        Animatoo.animateSwipeLeft(this);
        finish();
    }
    public void addBtn(View view) {
        checkPermission();
        Intent intent = new Intent(HomeActivity.this, PortraitCameraActivity.class);
        startActivity(intent);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        Animatoo.animateSlideUp(this);
        finish();
    }
    @Override
    protected void onResume() {
        super.onResume();
        checkPermission();
    }
    private void checkPermission() {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
            return;
        }
        // request camera permission if it has not been grunted.
        if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED ||
                checkSelfPermission(Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED ||
                checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
        ) {
            requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE}, CAMERA_PERMISSION_REQUEST_CODE);
        }
    }
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode) {
            case CAMERA_PERMISSION_REQUEST_CODE:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    Toast.makeText(HomeActivity.this, "permission has been granted.", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(HomeActivity.this, "[WARN] permission is not granted.", Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }
}