Java源码示例:com.chad.library.adapter.base.listener.OnItemChildClickListener

示例1
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getCrashButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_CRASH_CLICK_CATCH:
                    // 模拟奔溃
                    String data = null;
                    data.split(",");
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例2
private void initAdapter2() {
    DemoAdapter mDemoAdapter = new DemoAdapter(mCBeanList);
    View header = getLayoutInflater().inflate(R.layout.item_headerview, (ViewGroup) mRecyclerView.getParent(), false);
    mDemoAdapter.addHeaderView(header);
    View footer = getLayoutInflater().inflate(R.layout.item_footerview, (ViewGroup) mRecyclerView.getParent(), false);
    mDemoAdapter.addFooterView(footer);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setAdapter(mDemoAdapter);
    mRecyclerView.addOnItemTouchListener(new OnItemChildClickListener() {
        @Override
        public void onSimpleItemChildClick(BaseQuickAdapter baseQuickAdapter, View view, int i) {
            CBean bean = (CBean) baseQuickAdapter.getItem(i);
            switch (view.getId()) {
                case R.id.iv_img:
                    Toast.makeText(mContext, bean.getText(), Toast.LENGTH_SHORT).show();
                    break;
            }
        }
    });
}
 
示例3
@Override
public void initValues() {
    super.initValues();
    // 设置 Android 版本信息
    vid_am_android_tv.setText(AppCommonUtils.convertSDKVersion());
    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getMainButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.MODULE_FRAMEWORK:
                case ButtonValue.MODULE_LIB:
                case ButtonValue.MODULE_UI:
                case ButtonValue.MODULE_OTHER:
                case ButtonValue.MODULE_DEV_WIDGET:
                    SkipUtils.startActivity(ModuleActivity.class, buttonValue);
                    break;
                case ButtonValue.MODULE_DEV_ENVIRONMENT:
                    SkipUtils.startActivity(DevEnvironmentLibActivity.class, buttonValue);
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例4
@Override
public void initValues() {
    super.initValues();
    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getButtonValues(getModuleType()));
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {

                // =============
                // = DevWidget =
                // =============

                case ButtonValue.BTN_VIEW_ASSIST_RECYCLER: // RecyclerView ( loading )
                    SkipUtils.startActivity(ViewAssistRecyclerViewLoadActivity.class, buttonValue);
                    break;
                case ButtonValue.BTN_VIEW_ASSIST_ERROR: // Error ( failed )
                case ButtonValue.BTN_VIEW_ASSIST_EMPTY: // Empty ( data )
                case ButtonValue.BTN_VIEW_ASSIST_CUSTOM: // Custom Type
                    SkipUtils.startActivity(ViewAssistActivity.class, buttonValue);
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
    // 注册观察者
    registerAdapterDataObserver(vid_bvr_recy, true);
}
 
示例5
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getFileRecordButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_FILE_RECORD_ANALYSIS:
                    showToast(true, "保存成功");
                    FileRecordUse.analysisRecord();
                    break;
                case ButtonValue.BTN_FILE_RECORD_UTILS:
                    showToast(true, "保存成功");
                    FileRecordUse.fileRecord();
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例6
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getNotificationServiceButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_NOTIFICATION_SERVICE_CHECK:
                    boolean check = NotificationService.isNotificationListenerEnabled();
                    showToast(check, "已开启服务通知", "未开启服务通知");
                    break;
                case ButtonValue.BTN_NOTIFICATION_SERVICE_REGISTER:
                    if (!NotificationService.checkAndIntentSetting()) {
                        showToast(false, "请先开启服务通知权限");
                        return;
                    }
                    showToast(true, "绑定通知栏监听服务成功, 请查看 Logcat");
                    // 注册监听
                    NotificationService.startService();
                    break;
                case ButtonValue.BTN_NOTIFICATION_SERVICE_UNREGISTER:
                    showToast(true, "注销通知栏监听服务成功");
                    // 注销监听
                    NotificationService.stopService();
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例7
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getToastButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_TOAST_TINT_SUCCESS:
                    ToastTintUtils.success("Success Style Toast");
                    break;
                case ButtonValue.BTN_TOAST_TINT_ERROR:
                    ToastTintUtils.error("Error Style Toast");
                    break;
                case ButtonValue.BTN_TOAST_TINT_INFO:
                    ToastTintUtils.info("Info Style Toast");
                    break;
                case ButtonValue.BTN_TOAST_TINT_NORMAL:
                    ToastTintUtils.normal("Normal Style Toast");
                    break;
                case ButtonValue.BTN_TOAST_TINT_WARNING:
                    ToastTintUtils.warning("Warning Style Toast");
                    break;
                case ButtonValue.BTN_TOAST_TINT_CUSTOM_STYLE:
                    ToastTintUtils.custom(new TempStyle(), "Custom Style Toast", ResourceUtils.getDrawable(R.mipmap.icon_launcher_round));
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例8
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getAccessibilityListenerServiceButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_ACCESSIBILITY_SERVICE_CHECK:
                    boolean check = AccessibilityListenerService.isAccessibilitySettingsOn(AppUtils.getPackageName());
                    showToast(check, "已开启无障碍功能", "未开启无障碍功能");
                    break;
                case ButtonValue.BTN_ACCESSIBILITY_SERVICE_REGISTER:
                    if (!AccessibilityListenerService.checkAccessibility()) {
                        showToast(false, "请先开启无障碍功能");
                        return;
                    }
                    showToast(true, "绑定无障碍监听服务成功, 请查看 Logcat");
                    // 注册监听
                    AccessibilityListenerService.startService();
                    break;
                case ButtonValue.BTN_ACCESSIBILITY_SERVICE_UNREGISTER:
                    showToast(true, "注销无障碍监听服务成功");
                    // 注销监听
                    AccessibilityListenerService.stopService();
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例9
private void initAdapter() {
        mAnimationAdapter = new AnimationAdapter();
        mAnimationAdapter.setAnimationEnable(true);
        int mFirstPageItemCount = 3;
//        mAnimationAdapter.setNotDoAnimationCount(mFirstPageItemCount);
        mAnimationAdapter.addChildClickViewIds(R.id.img, R.id.tweetName, R.id.tweetText);
        mAnimationAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
            @Override
            public void onItemChildClick(@NonNull BaseQuickAdapter adapter, @NonNull View view, int position) {
                String content = null;
                Status status = (Status) adapter.getItem(position);
                switch (view.getId()) {
                    case R.id.img:
                        content = "img:" + status.getUserAvatar();
                        break;
                    case R.id.tweetName:
                        content = "name:" + status.getUserName();
                        break;
                    case R.id.tweetText:
                        content = "tweetText:" + status.getUserName();
                        break;
                    default:
                        break;
                }
                Tips.show(content);
            }
        });
        mRecyclerView.setAdapter(mAnimationAdapter);
    }
 
示例10
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getExtendButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_EXTEND_SAVE:
                    String fileName = "save_" + DateUtils.getDateNow() + ".txt";
                    // 在默认的结果回调抽象类上使用
                    saveFile(PathConfig.SDP_TEXT_PATH, fileName, new DevResultCallback<Boolean>() {
                        @Override
                        public <E extends Throwable> void onError(E e) {
                            super.onError(e);
                            DevLogger.eTag(mTag, e);
                            ToastTintUtils.error("保存报错: " + ThrowableUtils.getThrowable(e));
                        }

                        @Override
                        public void onResult(String str, String msg, Boolean value) {
                            showToast(value, "文件保存成功", "文件保存失败");
                        }
                    });
                    break;
                case ButtonValue.BTN_EXTEND_TRIGGER:
                    showToast(true, "触发成功, 请查看 Logcat");
                    // 初始化保存参数
                    CallParams callParams = new CallParams();
                    callParams.userInfo = new UserInfo("测试用户名");
                    callParams.type = "测试类型";
                    callParams.hashMap.put(1, "asdasd");
                    // 保存参数
                    dealResultCallback.setExpandResult(callParams);
                    // 触发回调
                    dealResultCallback.onResult("数据", "消息", "结果 - 成功");
                    dealResultCallback.onResult(100, "数据", "消息", "结果 - 成功");
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例11
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getEventButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_EVENT_REGISTER:
                    showToast(true, "注册成功");
                    EventBusUtils.register(EventBusActivity.this);
                    break;
                case ButtonValue.BTN_EVENT_UNREGISTER:
                    showToast(true, "解绑成功");
                    EventBusUtils.unregister(EventBusActivity.this);
                    break;
                case ButtonValue.BTN_EVENT_CLEAN_STICKY:
                    showToast(true, "清空全部粘性事件成功");
                    EventBusUtils.removeAllStickyEvents();
                    break;
                case ButtonValue.BTN_EVENT_SEND:
                    showToast(true, "发送事件成功");
                    DevBaseEvent<String> event = new DevBaseEvent<>();
                    event.setCode(1).setValue("正常消息");
                    EventBusUtils.post(event);
                    break;
                case ButtonValue.BTN_EVENT_SEND_STICKY:
                    showToast(true, "发送粘性事件成功");
                    DevBaseEvent<String> eventSticky = new DevBaseEvent<>();
                    eventSticky.setCode(2).setValue("粘性消息");
                    EventBusUtils.postSticky(eventSticky);
                    // 如何测试粘性消息, 先注册并发送粘性事件, 然后解绑, 再次注册(则会再次接收到粘性事件消息)
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}
 
示例12
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getModuleDevEnvironmentButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            ButtonValue buttonValue = buttonAdapter.getItem(position);
            boolean result = false;
            switch (buttonValue.type) {
                case ButtonValue.BTN_DEV_ENVIRONMENT:
                    result = DevEnvironmentActivity.start(mContext, new RestartCallBack() {
                        @Override
                        public void onRestart() {
                            ActivityUtils.getManager().exitApplication();
                        }
                    });
                    showToast(result, "跳转成功", "跳转失败");
                    break;
                case ButtonValue.BTN_USE_CUSTOM:
                    // 如果准备设置环境等于当前选中的环境, 则会返回 false
                    EnvironmentBean custom = new EnvironmentBean("自定义配置",
                            "https://custom.com", "动态自定义", DevEnvironment.getServiceModule());
                    result = DevEnvironment.setServiceEnvironment(mContext, custom);
                    showToast(result, "设置成功", "设置失败");
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });

    // 环境改变通知
    DevEnvironment.addOnEnvironmentChangeListener(new OnEnvironmentChangeListener() {
        @Override
        public void onEnvironmentChanged(ModuleBean module, EnvironmentBean oldEnvironment, EnvironmentBean newEnvironment) {
            // 可以进行重新请求等操作

            StringBuilder builder = new StringBuilder();
            builder.append("module");
            builder.append("\nname: " + module.getName());
            builder.append("\nalias: " + module.getAlias());
            builder.append("\n\n");
            builder.append("oldEnvironment");
            builder.append("\nname: " + oldEnvironment.getName());
            builder.append("\nvalue: " + oldEnvironment.getValue());
            builder.append("\nalias: " + oldEnvironment.getAlias());
            builder.append("\n\n");
            builder.append("newEnvironment");
            builder.append("\nname: " + newEnvironment.getName());
            builder.append("\nvalue: " + newEnvironment.getValue());
            builder.append("\nalias: " + newEnvironment.getAlias());
            ToastTintUtils.normal(builder.toString());

            DevLogger.dTag(mTag, builder.toString());
        }
    });
}
 
示例13
@Override
    public void initValues() {
        super.initValues();

//        // = 在 BaseApplication 中调用 =
//        // 初始化日志配置
//        final LogConfig logConfig = new LogConfig();
//        // 堆栈方法总数 ( 显示经过的方法 )
//        logConfig.methodCount = 3;
//        // 堆栈方法索引偏移 (0 = 最新经过调用的方法信息, 偏移则往上推, 如 1 = 倒数第二条经过调用的方法信息 )
//        logConfig.methodOffset = 0;
//        // 是否输出全部方法 ( 在特殊情况下, 如想要打印全部经过的方法, 但是不知道经过的总数 )
//        logConfig.outputMethodAll = false;
//        // 显示日志线程信息 ( 特殊情况, 显示经过的线程信息, 具体情况如上 )
//        logConfig.displayThreadInfo = false;
//        // 是否排序日志 ( 格式化后 )
//        logConfig.sortLog = false; // 是否美化日志, 边框包围
//        // 日志级别
//        logConfig.logLevel = LogLevel.DEBUG;
//        // 设置 TAG ( 特殊情况使用, 不使用全部的 TAG 时, 如单独输出在某个 TAG 下 )
//        logConfig.tag = "BaseLog";
//        // 进行初始化配置, 这样设置后, 默认全部日志都使用改配置, 特殊使用 DevLogger.other(config).d(xxx);
//        DevLogger.init(logConfig);

        // 初始化布局管理器、适配器
        final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getLoggerButtonValues());
        vid_bvr_recy.setAdapter(buttonAdapter);
        buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                ButtonValue buttonValue = buttonAdapter.getItem(position);
                switch (buttonValue.type) {
                    case ButtonValue.BTN_LOGGER_PRINT:
                        showToast(true, "打印成功, 请查看 Logcat");
                        LoggerUse.tempLog();
                        break;
                    case ButtonValue.BTN_LOGGER_TIME:
                        showToast(true, "打印成功, 请查看 Logcat");
                        LoggerUse.testTime();
                        break;
                    default:
                        ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                        break;
                }
            }
        });
    }
 
示例14
@Override
public void initValues() {
    super.initValues();

    // 初始化布局管理器、适配器
    final ButtonAdapter buttonAdapter = new ButtonAdapter(ButtonList.getCacheButtonValues());
    vid_bvr_recy.setAdapter(buttonAdapter);
    buttonAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
        @Override
        public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
            // 获取字符串
            String str;

            ButtonValue buttonValue = buttonAdapter.getItem(position);
            switch (buttonValue.type) {
                case ButtonValue.BTN_CACHE_STRING:
                    DevCache.obtain().put("str", "这是字符串");
                    showToast(true, "存储字符串成功");
                    break;
                case ButtonValue.BTN_CACHE_STRING_TIME:
                    DevCache.obtain().put("str", "这是有效期 3 秒字符串", 3);
                    showToast(true, "存储有效期字符串成功");
                    break;
                case ButtonValue.BTN_CACHE_STRING_GET:
                    str = DevCache.obtain().getAsString("str");
                    showToast(str != null, str, "未存储 key 为 str 的字符串");
                    break;
                case ButtonValue.BTN_CACHE_BEAN:
                    DevCache.obtain().put("bean", new CacheActivity.CacheVo("这是实体类"));
                    showToast(true, "存储实体类成功");
                    break;
                case ButtonValue.BTN_CACHE_BEAN_TIME:
                    DevCache.obtain().put("bean", new CacheActivity.CacheVo("这是有效期 3 秒实体类"), 3);
                    showToast(true, "存储有效期实体类成功");
                    break;
                case ButtonValue.BTN_CACHE_BEAN_GET:
                    Object object = DevCache.obtain().getAsObject("bean");
                    str = (object != null) ? ((CacheVo) object).toString() : null;
                    showToast(object != null, str, "未存储 key 为 bean 的实体类");
                    break;
                case ButtonValue.BTN_CACHE_FILE:
                    // 保存到指定文件夹下
                    DevCache.obtain(PathUtils.getSDCard().getSDCardFile("DevCache")).put("fileStr", "这是指定位置字符串");
                    showToast(true, "存储到指定位置成功");
                    break;
                case ButtonValue.BTN_CACHE_FILE_GET:
                    str = DevCache.obtain(PathUtils.getSDCard().getSDCardFile("DevCache")).getAsString("fileStr");
                    showToast(str != null, str, "未存储 key 为 fileStr 的字符串");
                    break;
                case ButtonValue.BTN_CACHE_CLEAR:
                    DevCache.obtain().clear();
                    DevCache.obtain(PathUtils.getSDCard().getSDCardPath("DevCache")).clear();
                    showToast(true, "清除全部数据成功");
                    break;
                default:
                    ToastTintUtils.warning("未处理 " + buttonValue.text + " 事件");
                    break;
            }
        }
    });
}