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的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 需求:不同组件间共用同一数据,当一个 ...
随机推荐
- Java并发集合(一)-CopyOnWriteArrayList分析与使用
CopyOnWriteArrayList分析与使用 原文链接: http://ifeve.com/java-copy-on-write/ 一.Copy-On-Write Copy-On-Write简称 ...
- day 5,格式化输出,for,while, break,continue,列表
本节内容: 1,格式化输出 2,数据类型 3,for 循环 4,while 循环 5,列表 pycharm的简单使用,设置pycharm自动生成日期和计算机用户名 ctrl+d复制一行 1,格式化输出 ...
- getObjectURL 上传图片预览
js 函数 function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { ...
- #10072. 「一本通 3.2 例 1」Sightseeing Trip(floyd求最小环+路径)
https://loj.ac/problem/10072 针对无向图 因为Floyd是按照结点的顺序更新最短路的,所以我们在更新最短路之前先找到一个连接点k,当前的点k肯定不存在于已存在的最短路f[i ...
- TJOI2018 简要题解
数学计算 用线段树记录之前乘过的每一个数,作除法时把原本的乘数改成111即可. 代码: #include<bits/stdc++.h> #define lc (p<<1) #d ...
- Forward团队-爬虫豆瓣top250项目-项目进度
项目地址:https://github.com/xyhcq/top250 我们的项目是爬取豆瓣top250的电影的信息,在做这个项目前,我们都没有经验,完全是从零开始,过程中也遇到了很多困难,不过我们 ...
- MySQL DDL--ghost执行模板和参数
常用GHOST模板 ##================================================## mysql_ip="127.0.0.1" mysql_ ...
- VS2017离线安装与Oracle数据库开发环境搭建
记得之前使用VS2015打开老的MVC4项目,不能右键创建控制器和添加视图,让我非常不习惯!找遍了网络无果,最后只能回到VS2013,但我就是不喜欢用旧的VS,这是不是病... 1.将VS2017离线 ...
- 关于java集合的一些操作
1.数组转集合 java提供了一个方法:Arrays.asList(T... a)的方法. 测试: String[] arr = {"Lida","huanda" ...
- 前置知识: FactoryBean的作用
FactoryBean 简介 FactoryBean是Spring中一种特殊的Bean,是用于创建Bean对象的,最大的作用便是可以让我们自定义Bean的创建过程.如果你在XML配置文件配置了一个节点 ...