Android 动态添加view或item并获取数据
16lz
2021-01-23
按照国际惯例,先上图:
核心代码在于以下两点:
/** * 添加item */ private void addViewItem(){ View viewItem = LayoutInflater.from(this).inflate(R.layout.item_add_vip_num, llVipNumContainer,false); llVipNumContainer.addView(viewItem); sortViewItem(); //添加并且排序之后将布局滚动到底部,方便用户继续添加 scrollView.post(new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }); } /** * 该方法主要用于排序(每个item中的序号),主要针对从中间删除item的情况 */ private void sortViewItem(){ for(int i = 0; i < llVipNumContainer.getChildCount(); i++){ final View viewItem = llVipNumContainer.getChildAt(i); TextView tvIndex = (TextView)viewItem.findViewById(R.id.tv_index); tvIndex.setText((i+1) + ""); LinearLayout llDelete = (LinearLayout) viewItem.findViewById(R.id.ll_delete); llDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { llVipNumContainer.removeView(viewItem); sortViewItem(); } }); } }
注意两点:
1、每次添加/删除完成之后要进行重新排序,主要是针对从中间删除item时序号间断问题;
2、每次添加完成之后将ScrollView滚动到底部,方便用户继续进行添加操作。
源码传送门:https://github.com/tianyalu/DynamicallyAddItemDemo
如觉得对您有帮助,欢迎给个star。
更多相关文章
- Android中的用户词库——UserDictionry
- 关于android录音权限被用户禁用的问题解决方案
- Android自动登录 记住用户名密码实现 SharedPreferences
- Android多用户原理
- Android非主用户无线相关设置的显示
- Android开发——本地存储、用户权限获取
- 创建灵活的用户界面-Android Fragment