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;
}
}
});
}