首页 文章 精选 留言 我的

精选列表

搜索[Android],共10000篇文章
优秀的个人博客,低调大师

android fastjson 解析

JSONObject jsonObject = JSON.parseObject(wsResponse);String recommends = jsonObject.getString("recommends");Log.i("ss","__________________________recommends:"+recommends); List<Recommend> contents = JSON.parseArray(recommends, Recommend.class); Log.i("ss","____________________________contents.size:"+contents.size());注意: 1:是Integer不是int2:是implements Serializable,不是implements Serializable, Parcelable public class Recommend implements Serializable { private Integer mediaId; private String title; private Integer timeSpan; private Integer roomId; private String roomName; private Integer gameId; private Float overallScore; private Integer scoreType; private Integer totalViews; private Integer definition; private String createTime; } 本文转自wanqi博客园博客,原文链接http://www.cnblogs.com/wanqieddy/p/4655032.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android BaseRecyclerViewAdapterHelper使用

BaseRecyclerViewAdapterHelper项目下载 1 . 使用 // 基类 具体实现类 布局 数据源 BaseQuickAdapter homeAdapter = new HomeAdapter(R.layout.home_item_view, mDataList); homeAdapter.openLoadAnimation(); // 开启动画 // 加载头布局 View top = getLayoutInflater().inflate(R.layout.top_view, (ViewGroup) mRecyclerView.getParent(), false); // 添加头布局 homeAdapter.addHeaderView(top); // 设置点击事件 homeAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { Log.e("adapter", "点击"); } }); // 设置适配器 mRecyclerView.setAdapter(homeAdapter); // 继承自BaseQuickAdapter的适配器 实体类 public class HomeAdapter extends BaseQuickAdapter<HomeItem, BaseViewHolder> { public HomeAdapter(int layoutResId, List data) { super(layoutResId, data); } @Override protected void convert(BaseViewHolder helper, HomeItem item) { // 设置文本 helper.setText(R.id.text, item.getTitle()); // 设置图片 helper.setImageResource(R.id.icon, item.getImageResource()); } } 2. api介绍 adapter.openLoadAnimation(); 开启显示时条目动画 adapter.openLoadAnimation(BaseQuickAdapter.ALPHAIN); 设置开启动画的类型,可选类型有 BaseQuickAdapter.ALPHAIN 透明动画 BaseQuickAdapter.SCALEIN 缩放动画 BaseQuickAdapter.SLIDEIN_BOTTOM 底部滑入 BaseQuickAdapter.SLIDEIN_LEFT 左边滑入 BaseQuickAdapter.SLIDEIN_RIGHT 右边滑入 该参数可以自定义adapter.openLoadAnimation(new CustomAnimation());其中CustomAnimation继承在BaseAnimation,代码如下 public class CustomAnimation implements BaseAnimation { @Override public Animator[] getAnimators(View view) { return new Animator[]{ ObjectAnimator.ofFloat(view, "scaleY", 1, 1.1f, 1), ObjectAnimator.ofFloat(view, "scaleX", 1, 1.1f, 1) }; } } adapter.isFirstOnly(false); 设置是否仅在第一次加载时显示动画。设置true时,当数据上滑时出现动画,下滑时无动画出现;设置false时,仅在上滑时出现动画. adapter.setNotDoAnimationCount(3); 设置第一屏显示不做动画的数量 adapter.setOnItemClickListener(listener); adapter.setOnItemLongClickListener(listener); 设置条目点击与长点击 adapter.setOnItemChildClickListener(listener); adapter.setOnItemChildLongClickListener(listener); 设置监听事件,其中根据view的id来区分点击的是哪一个控件 adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { @Override public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { switch (view.getId()) { case R.id.img: Log.e("adapter","img"); break; case R.id.tweetName: Log.e("adapter","tweetName"); break; break; default: break; } } }); adapter.addHeaderView(headerView); 添加一个头布局 adapter.addFooterView(footerView, 0); 添加一个尾布局 adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {}, mRecyclerView); 加载更多,其中下拉刷新使用 SwipeRefreshLayout adapter.setOnItemChildClickListener(listener); 设置条目中子控件的点击事件 adapter.setEmptyView(errorView); 设置一个空的布局,可用于网络异常,无数据的情况下 adapter.enableSwipeItem(); adapter.setOnItemSwipeListener(onItemSwipeListener); adapter.enableDragItem(mItemTouchHelper); adapter.setOnItemDragListener(listener); 设置允许左滑右滑动条目 private ItemTouchHelper mItemTouchHelper; private ItemDragAndSwipeCallback mItemDragAndSwipeCallback; mItemDragAndSwipeCallback = new ItemDragAndSwipeCallback(mAdapter); mItemTouchHelper = new ItemTouchHelper(mItemDragAndSwipeCallback); mItemTouchHelper.attachToRecyclerView(mRecyclerView); // 设置滑动方向,拖拽方向 //mItemDragAndSwipeCallback.setDragMoveFlags(ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT | ItemTouchHelper.UP | ItemTouchHelper.DOWN); mItemDragAndSwipeCallback.setSwipeMoveFlags(ItemTouchHelper.START | ItemTouchHelper.END); mAdapter.enableSwipeItem(); mAdapter.setOnItemSwipeListener(onItemSwipeListener); mAdapter.enableDragItem(mItemTouchHelper); mAdapter.setOnItemDragListener(listener); 3. 多条目适配器 public class MultipleItemQuickAdapter extends BaseMultiItemQuickAdapter<MultipleItem, BaseViewHolder> { public MultipleItemQuickAdapter(Context context, List data) { super(data); addItemType(MultipleItem.TEXT, R.layout.item_text_view); addItemType(MultipleItem.IMG, R.layout.item_image_view); addItemType(MultipleItem.IMG_TEXT, R.layout.item_img_text_view); } @Override protected void convert(BaseViewHolder helper, MultipleItem item) { switch (helper.getItemViewType()) { case MultipleItem.TEXT: helper.setText(R.id.tv, item.getContent()); break; case MultipleItem.IMG_TEXT: switch (helper.getLayoutPosition() % 2) { case 0: helper.setImageResource(R.id.iv, R.mipmap.animation_img1); break; case 1: helper.setImageResource(R.id.iv, R.mipmap.animation_img2); break; default: break; } default: break; } } } 数据源 // 实现MultiItemEntity接口 public class MultipleItem implements MultiItemEntity { public static final int TEXT = 1; public static final int IMG = 2; public static final int IMG_TEXT = 3; private int itemType; public MultipleItem(int itemType) { this.itemType = itemType; } @Override public int getItemType() { return itemType; } } 4. 分组条目适配器 // 继承自BaseSectionQuickAdapter public class SectionAdapter extends BaseSectionQuickAdapter<MySection, BaseViewHolder> { /** * 构造方法 * @param sectionHeadResId 头布局 * @param layoutResId 条目布局 * @param data 数据 */ public SectionAdapter(int layoutResId, int sectionHeadResId, List data) { super(layoutResId, sectionHeadResId, data); } @Override protected void convertHead(BaseViewHolder helper, final MySection item) { helper.setText(R.id.header, item.header); helper.setVisible(R.id.more, item.isMore()); helper.addOnClickListener(R.id.more); } @Override protected void convert(BaseViewHolder helper, MySection item) { Video video = (Video) item.t; switch (helper.getLayoutPosition() % 2) { case 0: helper.setImageResource(R.id.iv, R.mipmap.m_img1); break; case 1: helper.setImageResource(R.id.iv, R.mipmap.m_img2); break; default: break; } helper.setText(R.id.tv, video.getName()); } } 实体类 // 继承SectionEntity public class MySection extends SectionEntity<Video> { public MySection(boolean isHeader, String header) { super(isHeader, header); } public MySection(Video t) { super(t); } }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册