当前位置: 首页 > news >正文

英文营销型网站建设软件汇

英文营销型网站建设,软件汇,如何网站客户案例,深圳推广公司网站建设书模板ListView 和 RecyclerView 都是用于 Android 开发中列表展示时所用的常见控件。 ListView 和 RecyclerView 使用的大致相同点 1.使用前都需要准备适配器 Adapter #xff1a;其实这两个控件的使用在初学者眼里之所以看起来复杂#xff0c;最大的原因就是需要根据自己的业务…ListView 和 RecyclerView 都是用于 Android 开发中列表展示时所用的常见控件。 ListView 和 RecyclerView 使用的大致相同点 1.使用前都需要准备适配器 Adapter 其实这两个控件的使用在初学者眼里之所以看起来复杂最大的原因就是需要根据自己的业务来写一个Adapter类 2.使用前都需要准备 item 的 layout 除了准备一个适配器 Adapter 之外还需要为列表中的每一项准备一个共用的 layout 。 3.使用时都是先初始化一个前面第一点提到的适配器Adapter向其传入前面第二点提到的 layout 和所需要展示的数据集合等一些参数然后将这个适配器通过 ListView.setAdapter(adapter) 方法使适配器作为参数传入即可RecyclerView在此之前还有一个步骤后面会介绍到只是一行代码的事所以我认为使用时整体的步骤与 ListView 是基本相同的。 4.关于使用步骤Adapter 的不同实现会出现传入参数上的差异可能会导致部分人觉得这里使用时的相同点有点错误其实我在这里只是想表达在使用时需要用到前面所提到的一些东西具体的细微差别在使用时还是存在的不用太纠结这部分。 ListView的基本使用 1.首先咱们先完成工作量最大的Adapter的编写。 public class MyTypeAdapter extends ArrayAdapterMyType {private int resourceId;public MyTypeAdapter(Context context, int resourceId, ListMyType list){super(context,textViewResourceId,list);this.resourceId resourceId;}Overridepublic View getView(final int position,  View convertView, ViewGroup parent) {MyType myType getItem(position);//这里的数据类型和你要展示的数据是一样的View view LayoutInflater.from(getContext()).inflate(resourceId,parent,false);ImageView image view.findViewById(R.id.image);TextView text view.findViewById(R.id.text);image.setImageResource(myType.getImageId());text.setText(myType.getText());return view;} } 2.其次完成 ListView 中每一项的共用 item_layout 。 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentImageViewandroid:idid/imageandroid:layout_widthwrap_contentandroid:layout_heightwrap_content /TextViewandroid:idid/nameandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_gravitycenter / /LinearLayout 3.最后。做完了准备工作在需要使用 ListView 的布局文件中添加它。然后和使用其他控件一样在 Activity 中获取实例化Adapter并将需要展示的数据集合传入。最后一步将 Adapter 设置给 ListView 大功告成。 4.如何开启点击事件     4.1 对整个 item 的点击事件只需要对 ListView 增加事件监听即可在 onItemClick 方法中 position 表示点击的 item 为第几项一般通过这个下标进行对应的数据处理。 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {Overridepublic void onItemClick(AdapterView? parent, View view, int position, long id) {//do something...} }); 4.2 对 item 中某个控件的点击事件则需要在 Adapter 中在 getView 方法中获取绑定到控件之后向其正常添加点击事件即可。同样的getView 方法也有一个 position 参数也是表示点击的 item 下标。 ListView的基本优化 1.对 ListView 优化应该从哪里入手呢想想我们对这个控件的使用准备显然最先想到的应该是咱们编写的 Adapter 了。 2.通过新建一个内部类 ViewHolder 将子项的各个控件作为成员属性重写 getView 方法。 3.对传入该方法的参数 convertView 进行判断如果为 null 则进行布局和控件的加载并将 viewHolder 通过 setTag 存储到 view 中如果不为 null 则直接 view.getTag() 。 4.这个做法可以使控件和布局不必每次都被重复加载。 Override public View getView(final int position, View convertView, ViewGroup parent) {if (convertView null){view LayoutInflater.from(getContext()).inflate(resourceId, parent, false);viewHolder new ViewHolder();viewHolder.image view.findViewById(R.id.image);viewHolder.text view.findViewById(R.id.text);view.setTag(viewHolder);//将ViewHolder存储到View中} else {view convertView;viewHolder (ViewHolder) view.getTag();}return view; }static class ViewHolder {TextView text;ImageView image; } 上面讲的就是 ListView 的一些基本内容还有许多东西需要去探索。接下来讲的关于 RecyclerView 其实也大同小异只要理解了需要 Adapter 作为桥梁去连接数据和 ListView 那其实 RecyclerView 的基本使用也和 ListView 没有很大区别。 RecyclerView 的基本使用 1.使用前添加依赖        implementation com.android.support:recyclerview-v7:27.1.1        Androidx的话是        implementation androidx.recyclerview:recyclerview:1.1.0 2.和 ListView 没两样Adapter 先搞一个让它继承 RecyclerView.Adapter 将其中的泛型指定为 adapter.ViewHolder 。 定义内部类继承 RecyclerView.ViewHolder 。传入的参数通常是 RecyclerView 子项的最外层布局。构造函数接受数据源。由于它继承于 RecyclerView.Adapter 所以必须重写 onCreateViewHolder() , onBindViewHolder() 和 getItemCount() 三个方法。 第一个方法用于创建 ViewHolder 实例并把加载的布局传入构造函数并返回 holder 第二个方法则是子项的控件进行绑定并对每个子项赋值第三个方法返回 recylerview 的子项数目。 public class MyAdapter extends RecyclerView.AdapterMyAdapter.ViewHolder {private  ListMyType mList;static class ViewHolder extends RecyclerView.ViewHolder{ImageView mImage;TextView mText;public ViewHolder (View view) {super(view);mImage (ImageView) view.findViewById(R.id.image);mText (TextView) view.findViewById(R.id.text);}}public MyAdapter (List MyType list){mList list;}Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){View view LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout,parent,false);ViewHolder holder new ViewHolder(view);return holder;}Overridepublic void onBindViewHolder(ViewHolder holder, int position){MyType myType mList.get(position);holder.mImage.setImageResource(myType.getImageId());holder.mText.setText(myType.getText());}Overridepublic int getItemCount(){return mList.size();} 3.其次编写 item_layout 这个和 ListView 没有任何区别除非你需要一些其他的列表布局不过这些都是细微的差别。 4.正式使用和 ListView 的使用相似获取 RecyclerView 后实例化适配器传入一些必要的参数然后 setAdapter 但在 setAdapter 之前需要使用 LayoutManager 指定布局方式这就是前面提到的一行代码的事虽然看到是两行但是硬要写成一行也不是不行。LineatLayoutManager 指的是线性布局。 LinearLayoutManager layoutManager new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); 5.点击事件对于整个子项的点击事件在 viewHolder 中添加保存最外层 view 在 onCreatViewHolder 中通过 holder.view.setOnClickListener 进行设置子项的点击事件对于子项中的控件的点击事件也同样在这里进行设置事件监听即可。 6.其他布局 RecyclerView 还可以实现横向滚动只需要将子项的布局 item_layout 进行修改即不要使宽度占满屏幕其他根据需要调整然后再使用时候设置 LayoutManager 时写 LinearLayoutManager layoutManager new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); recyclerView.setLayoutManager(layoutManager); RecyclerView 还有 GridLayoutManager 和 StaggeredGridLayoutManager 。 GridLayoutManager layoutManager new GridLayoutManager(this,5); 设置网格布局的代码如上第二个参数是网格的列数。瀑布流也大同小异网上查一下资料就行了。 ListView 和 RecyclerView 的对比 1.ListView 的布局就是普通的列表展示而 RecyclerView 可以横向滚动还有瀑布流、表格之类的展示可以适用于不同的业务需求 2.ListView 需要自行优化自定义 ViewHolder 等一些内容 3.RecyclerView 还有一些其他的优点但是我还没有研究过所以就不多说了。如果只是用于展示一些简单的文字数据的话用 ListView 代码量应该会少一点。 1.其实这两个控件的使用都不是很复杂只是相对于之前学习的其他控件而言这两个控件就显得相对有些麻烦。     其实使用起来只需要和上面写的一样分四步来看就很容易记住了。     第一步在需要的地方添加 ListView \ RecyclerView 这一步和其他控件没有区别     第二步编写 Adapter 把这一步做完基本就搞定百分之九十的工作了     第三步编写 item_layout 这个根据业务需求写即可     第四步在 Activity \ Fragment 或其他使用 ListView 的地方绑定控件实例化 Adapter 并传入数据将该 Adapter 设置给 ListView 即可
http://www.dnsts.com.cn/news/33888.html

相关文章:

  • 网站站长指南宝安营销型网站费用
  • 网站制作首先小程序注册之后怎么开发
  • 厦门做网站的公司有哪些知名网站建设设计
  • 站群 wordpress软件开发培训班
  • 丰台体育馆网站建设上海欣扬集团 网站建设
  • wordpress整站备份白云商城网站建设
  • 怎么免费做网站教程wordpress 播放音乐
  • 东营网站搭建网站的icp备案信息
  • 网站怎么做IPv6泰安网站优化推广
  • 网站如何做网站名称一级a做爰片免费网站中文
  • 安徽网站推广系统手机网站页面尺寸
  • 传媒类网站模板外包人员
  • 动易网站做值班表视觉网站建设
  • 琼海做球网站网站广告位有哪些
  • 平台门户网站建设方案wordpress的功能
  • 新民电子网站建设哪家好桂林旅游网
  • 资讯网站开发的背景o2o网站设计
  • 藁城区建设局网站做网站设计的
  • 网站建设价格方案品牌建设的措施建议
  • 深圳外贸网站开发建设清远建设网站制作
  • 天津网站制作培训seo是什么公司
  • 网站建设需求问卷凡科网站代码
  • 网站专业建设公司中英文外贸网站模版
  • 网站做哪种推广好广州三合一企业网站哪家好
  • 制作网站和制作网页的分别如何建设一个属于自己的网站
  • 数字城市建设网站杭州网站建设外包
  • 网站建设如果登录失败源码屋
  • 丹阳市住房建设管理局网站购物网站备案费用
  • 代理加盟网站一键免费创建论坛网站
  • 商丘网站建设网站推广wordpress 多域名绑定域名