listview监听组件内容变化
package com.meizu.ui.gifts; import android.app.Activity;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.TextView; import com.meizu.R;
import com.meizu.ui.sales.GiftsGivingBean; import java.util.ArrayList;
import java.util.List; /**
* Created by laoyimou on 2018/3/15.
*/ public class GiftEditAdapter extends BaseAdapter {
private GiftAuditDetailBean detailsBean = new GiftAuditDetailBean();
List<GiftAuditDetailBean> list ;
private Context context = null;
private LayoutInflater inflater = null; public GiftEditAdapter(List<GiftAuditDetailBean> list, Context context) {
this.list = list;
this.context = context;
// 布局装载器对象
inflater = LayoutInflater.from(context);
} @Override
public int getCount() {
return list.size();
} // 获取数据集中与指定索引对应的数据项
@Override
public Object getItem(int position) {
return list.get(position);
} // 获取指定行对应的ID
@Override
public long getItemId(int position) {
return position;
} // 获取每一个Item显示的内容
@Override
public View getView(int position, View convertView, ViewGroup parent) { final ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder(parent, context);
} else {
viewHolder = (ViewHolder) convertView.getTag(); // 获取,通过ViewHolder找到相应的控件
}
detailsBean = list.get(position);
viewHolder.updateView(detailsBean);
return viewHolder.getContentView();
} private class ViewHolder implements TextWatcher { private View mContentView;
private TextView giftCode;
private TextView reduce;
private EditText getSum;
private TextView add;
private TextView giftsName;
private GiftAuditDetailBean getBean; public ViewHolder(ViewGroup parent, Context context) {
mContentView = inflater.inflate(R.layout.gifts_edit_item, parent, false); mContentView.setTag(this);
giftsName = mContentView.findViewById(R.id.giftsName);
giftCode = mContentView.findViewById(R.id.giftCode);
reduce = mContentView.findViewById(R.id.reduce);
add = mContentView.findViewById(R.id.add);
getSum = mContentView.findViewById(R.id.getSum);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//由于我们已经限制了只能输入整数,所以只需要判断首个字符是不是0,或者内容为空即可
if (getSum.getText().toString() == null || "".equals(getSum.getText().toString())) {
getSum.setText("0");
}
int a = Integer.parseInt(getSum.getText().toString());
a = a + 1;
getSum.setText(a +"");
}
}); reduce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//由于我们已经限制了只能输入整数,所以只需要判断首个字符是不是0,或者内容为空即可
if (getSum.getText().toString() == null || "".equals(getSum.getText().toString())) {
getSum.setText("0"); }
if (Integer.parseInt(getSum.getText().toString()) == 0) {
return;
} else {
//拿出内容并进行计算
int a = Integer.parseInt(getSum.getText().toString()) - 1;
//计算之后再设置回去
getSum.setText(a + "");
} }
});
// 监听EditText的输入变化,然后在对应的回调中记录输入的值
getSum.addTextChangedListener(this);
} public void updateView(GiftAuditDetailBean detailBean) {
getBean = detailBean;
giftsName.setText(getBean.getFmaterrialName());
getSum.setText("" + getBean.getFdownNum());
giftCode.setText("" + getBean.getFmaterrialCode()); } public View getContentView() {
return mContentView;
} @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void afterTextChanged(Editable s) {
// 输入内容时,记录下来,放在bean中暂存,这样就可以随时通过bean获取
getBean.setFdownNum(Integer.parseInt(s.toString()));
}
}
}
listview监听组件内容变化的更多相关文章
- JQuery如何监听DIV内容变化
这几天在做一个微博的接入,需要判断微博是否被关注,要检查微博标签的DIV是否有“已关注”的字符,但这个DIV的内容是微博JSSDK动态生 成.$("#id").html()是获取不 ...
- jQuery 监听元素内容变化的方法
我们可以用onchange事件来完成元素值发生改变触发的监听.但是 onchange 比较适用于<input>.<textarea> 以及 <select> 元素. ...
- jquery监听textarea内容变化
$('#textarea').bind('input propertychange', function(){ var length = $("#textarea").val(). ...
- 利用DOMNodeInserted监听标签内容变化
var exeFlag = 0;//控制执行业务次数标记$('#list1').bind('DOMNodeInserted', function () { if(!/img/.test($(" ...
- HTML5 oninput实时监听输入框值变化的完美方案
在网页开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理组合快 ...
- 【转载】实时监听输入框值变化的完美方案:oninput & onpropertychange
oninput 是 HTML5 的标准事件,对于检测 textarea, input:text, input:password 和 input:search 这几个元素通过用户界面发生的内容变化非常有 ...
- js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange
(1) 先说jquery, 使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码: $('#username').bin ...
- 前端组件化Polymer入门教程(6)——监听属性值变化
监听属性值变化 如果需要监听属性值变化可以通过给observer赋值一个回调函数. <say-Hello></say-Hello> <dom-module id=&quo ...
- 详解vuex结合localstorage动态监听storage的变化
这篇文章主要介绍了详解vuex结合localstorage动态监听storage的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 需求:不同组件间共用同一数据,当一个 ...
随机推荐
- [leetcode]96. Unique Binary Search Trees给定节点形成不同BST的个数
Given n, how many structurally unique BST's (binary search trees) that store values 1 ... n? Input: ...
- CSS学习总结4:派生选择器学习总结
派生选择器:通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁.派生选择器中一共分为三种:后代选择器.子元素选择器.相邻兄弟选择器. 1.初识派生选择器 实例:你希望列表中的 stron ...
- gdb调试技巧 找到php执行进程当前执行的代码
假设线上有一段php脚本,突然在某天出问题了,不处理但是进程没有退出.这种情况可能是异常休眠或者是有段死循环代码,但是我们怎么定位呢,我们这个时候最想知道的应该是这个脚本在此刻在做什么吧.这个是gdb ...
- php正则提取html图片(img)src地址与任意属性的方法
<?php /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/2017020716 ...
- SPARK安装三:SPARK集群部署
使用2.3.0版本,因为公司生产环境是这个版本 一.下载安装 cd /opt wget https://archive.apache.org/dist/spark/spark-2.3.0/spark- ...
- Zookeeper系列2 原生API 以及核心特性watcher
原生API 增删改查询 public class ZkBaseTest { static final String CONNECT_ADDR = "192.168.0.120"; ...
- flex布局之flex-basis采坑
场景: 容器设置为display: flex,容器里的子项目部分设置 flex: auto,子项目的宽高自适应正常,但如果再往子项目里嵌套一个(如:div),并设置高度(如:height: 100%) ...
- 部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot)
部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot) 1.基础环境********************************************** ...
- JavaScript 方法
对象的定义 var xiaoming = { name: '小明', birth: 1990 }; 是,如果我们给xiaoming绑定一个函数,就可以做更多的事情.比如,写个age()方法,返回xia ...
- 2019.02.27 bzoj4556: [Tjoi2016&Heoi2016]字符串(二分答案+sam+线段树合并)
传送门 题意:给一个字符串SSS. 有mmm次询问,每次给四个参数a,b,c,da,b,c,da,b,c,d,问s[a...b]s[a...b]s[a...b]的所有子串和s[x...y]s[x... ...