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

青岛建设网站设计公司杭州全网推广

青岛建设网站设计公司,杭州全网推广,淘宝客聚惠购的网站怎么做,电商平台总体设计方案概述 在界面实现一个列表,用户可以随意给列表新增或者删除项目,在开发中比较常用,但是真正做起来又有点花时间,今天花时间做一个,以便在以后的开发中用到。 详细 运行效果: 二、实现思路: 1…

概述

在界面实现一个列表,用户可以随意给列表新增或者删除项目,在开发中比较常用,但是真正做起来又有点花时间,今天花时间做一个,以便在以后的开发中用到。

详细

运行效果:

二、实现思路:

1、实现一个主界面,主界面放一个list用来显示这个动态的列表,还要包含一个按钮用来点击时新增列表的栏目。
2、实现列表的适配器Adapter,这里实现显示栏目布局以及删除当前栏目的接口回调。
3、在主界面列表变更中(新增or删除),能准确获取当前适配器的内容,以便不会误删。

三、实现过程:

1、实现一个主界面,主界面放一个list用来显示这个动态的列表,还要包含一个按钮用来点击时新增列表的栏目。

 

    public class MainActivity extends AppCompatActivity implements ObserveEtListener, View.OnClickListener{private ActivityMainBinding mViews;private DynamicNewAdapter dynamicNewAdapter;private MainViewModel mainViewModel;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mViews = DataBindingUtil.setContentView(this,R.layout.activity_main);mainViewModel = new ViewModelProvider(this).get(MainViewModel.class);dynamicNewAdapter = new DynamicNewAdapter(this);mViews.recycleView.setAdapter(dynamicNewAdapter);dynamicNewAdapter.syncSetNewData(mainViewModel.drugsBeanList);mViews.setOnClickListener(this);}// 删除栏目@Overridepublic void delateObserve(int pos) {dynamicNewAdapter.syncSetNewData(new ArrayList<>(getAdapterDetails(pos)));}@Overridepublic void onClick(View v) {int vId = v.getId();switch (vId){case R.id.addItem:// 新增栏目addItem();break;}}/*** 新增栏目*/private void addItem(){mainViewModel.drugsBeanList = getAdapterDetails(-1);mainViewModel.drugsBeanList.add(new DrugsBean("", "", "ml/亩"));dynamicNewAdapter.syncSetNewData(mainViewModel.drugsBeanList);}
2、实现列表的适配器Adapter,这里实现显示栏目布局以及删除当前栏目的接口回调。
    public class DynamicNewAdapter extends BaseDataBindingAdapter<DrugsBean, ItemDyncmicAdapterBinding> {private ObserveEtListener listener;private String[] numbers = Utils.getApp().getResources().getStringArray(R.array.usage_array);public DynamicNewAdapter(ObserveEtListener listener) {super(R.layout.item_dyncmic_adapter);this.listener = listener;}@Overrideprotected void convert(@NonNull DataBindViewHolder<ItemDyncmicAdapterBinding> helper, DrugsBean drugsBean) {helper.binding.tvNameValue.setText(drugsBean.drugName);helper.binding.tvUsageValue.setText(drugsBean.weigth);int pos = getData().indexOf(drugsBean);helper.binding.tvUsageUnit.setText(drugsBean.unit);helper.binding.spinnerUnit.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {helper.binding.tvUsageUnit.setText(numbers[position]);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});if (drugsBean.unit != null && drugsBean.unit.indexOf("ml") > -1) {helper.binding.spinnerUnit.setSelection(0, true);} else {helper.binding.spinnerUnit.setSelection(1, true);}helper.setTag(R.id.img_del, pos);helper.binding.imgDel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (listener != null) {int pos = (int) v.getTag();notifyItemRemoved(pos);getData().remove(pos);listener.delateObserve(pos);}}});}}
3、在主界面列表变更中(新增or删除),能准确获取当前适配器的内容,以便不会误删。
/*** 获取当前列表数据* @param pos* @return*/private List<DrugsBean> getAdapterDetails(int pos) {List<DrugsBean> details = new ArrayList<>();int length = mViews.recycleView.getChildCount();for (int i = 0; i < length; i++) {if (pos == i)continue;ConstraintLayout ll_item = (ConstraintLayout) mViews.recycleView.getChildAt(i);TextView tv_name_value = ll_item.findViewById(R.id.tv_name_value);TextView tv_usage_value = ll_item.findViewById(R.id.tv_usage_value);TextView tv_usage_unit = ll_item.findViewById(R.id.tv_usage_unit);details.add(new DrugsBean(tv_name_value.getText().toString().trim(),tv_usage_value.getText().toString().trim(), tv_usage_unit.getText().toString().trim()));}return details;}

四、项目文件结构截图

 

http://www.zhongyajixie.com/news/4728.html

相关文章:

  • 自己做网站挣钱不seo顾问服务深圳
  • 织梦医疗网站杭州网站优化企业
  • 论坛网站模板下载市场营销实际案例
  • 网站头部图片如何做东营网站推广公司
  • 网站建设谁家好百度页面推广
  • 做网站代刷能赚多少钱网络服务器是指什么
  • 无锡做网站的杭州百度百家号seo优化排名
  • 南通seo网站建设费用seo优化公司排名
  • 网站规划与建设心得东莞企业网站排名
  • 东莞专业网站推广公司5188大数据官网
  • 做恶搞网站软件有哪些哈尔滨关键词优化报价
  • 电脑版网站制作公司小姐关键词代发排名
  • 网站建设行业现状如何注册网址
  • 机票网站建设公司好河源网站seo
  • 海外网站seo买外链有用吗
  • 做网站后台用什么写专业seo服务商
  • 怎么做网站播放器怎么查看域名是一级还是二级域名
  • 百度公司做网站服务专业网络推广外包
  • 宿迁做网站的公司制作一个简单的html网页
  • 做期货看资讯什么网站好网站域名注册
  • 网站开发合同需要交印花税吗网站制作的基本流程
  • 雪域什么网站是做电影的竞价排名软件
  • 广东江门最新消息今天济南网站优化培训
  • 做物流和供应链网站西安今天刚刚发生的新闻
  • 湖南+网站建设百度爱采购服务商查询
  • 网站界面用什么做的seo排名优化有哪些
  • 深圳网站制作880简述seo对各类网站的作用
  • 网站建设目的确定百度新站关键词排名
  • 计算机专业的会学怎么做网站吗全网霸屏推广系统
  • 在南海建设工程交易中心网站百度app安卓版下载