app/src/main/java/me/zhanghai/android/douya/navigation/ui/NavigationViewAdapter.java

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * Copyright (c) 2016 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
 * All Rights Reserved.
 */

package me.zhanghai.android.douya.navigation.ui;

import android.support.design.widget.NavigationView;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;

import me.zhanghai.android.douya.R;
import me.zhanghai.android.douya.util.ViewUtils;

public class NavigationViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private static final int VIEW_TYPE_ACCOUNT_LIST = -1;

    private NavigationView mNavigationView;
    private RecyclerView.Adapter mMenuAdapter;
    private NavigationAccountListLayout.Adapter mAccountListAdapter;
    private NavigationAccountListLayout.Listener mAccountListListener;

    private boolean mShowingAccountList;

    private NavigationViewAdapter(NavigationView navigationView, RecyclerView.Adapter menuAdapter,
                                  NavigationAccountListLayout.Adapter accountListAdapter,
                                  NavigationAccountListLayout.Listener accountListListener) {

        mNavigationView = navigationView;
        mMenuAdapter = menuAdapter;
        mAccountListAdapter = accountListAdapter;
        mAccountListListener = accountListListener;

        // NavigationMenuAdapter only calls notifyDataSetChanged().
        mMenuAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
            @Override
            public void onChanged() {
                notifyDataSetChanged();
            }
            @Override
            public void onItemRangeChanged(int positionStart, int itemCount) {
                onChanged();
            }
            @Override
            public void onItemRangeChanged(int positionStart, int itemCount, Object payload) {
                onChanged();
            }
            @Override
            public void onItemRangeInserted(int positionStart, int itemCount) {
                onChanged();
            }
            @Override
            public void onItemRangeRemoved(int positionStart, int itemCount) {
                onChanged();
            }
            @Override
            public void onItemRangeMoved(int fromPosition, int toPosition, int itemCount) {
                onChanged();
后面还有 116 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。