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监听组件内容变化的更多相关文章

  1. JQuery如何监听DIV内容变化

    这几天在做一个微博的接入,需要判断微博是否被关注,要检查微博标签的DIV是否有“已关注”的字符,但这个DIV的内容是微博JSSDK动态生 成.$("#id").html()是获取不 ...

  2. jQuery 监听元素内容变化的方法

    我们可以用onchange事件来完成元素值发生改变触发的监听.但是 onchange 比较适用于<input>.<textarea> 以及 <select> 元素. ...

  3. jquery监听textarea内容变化

    $('#textarea').bind('input propertychange', function(){ var length = $("#textarea").val(). ...

  4. 利用DOMNodeInserted监听标签内容变化

    var exeFlag = 0;//控制执行业务次数标记$('#list1').bind('DOMNodeInserted', function () { if(!/img/.test($(" ...

  5. HTML5 oninput实时监听输入框值变化的完美方案

    在网页开发中经常会碰到需要动态监听输入框值变化的情况,如果使用 onkeydown.onkeypress.onkeyup 这个几个键盘事件来监测的话,监听不了右键的复制.剪贴和粘贴这些操作,处理组合快 ...

  6. 【转载】实时监听输入框值变化的完美方案:oninput & onpropertychange

    oninput 是 HTML5 的标准事件,对于检测 textarea, input:text, input:password 和 input:search 这几个元素通过用户界面发生的内容变化非常有 ...

  7. js/jquery 实时监听输入框值变化的完美方案:oninput & onpropertychange

    (1)     先说jquery, 使用 jQuery 库的话,只需要同时绑定 oninput 和 onpropertychange 两个事件就可以了,示例代码: $('#username').bin ...

  8. 前端组件化Polymer入门教程(6)——监听属性值变化

    监听属性值变化 如果需要监听属性值变化可以通过给observer赋值一个回调函数. <say-Hello></say-Hello> <dom-module id=&quo ...

  9. 详解vuex结合localstorage动态监听storage的变化

    这篇文章主要介绍了详解vuex结合localstorage动态监听storage的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 需求:不同组件间共用同一数据,当一个 ...

随机推荐

  1. 516. Longest Palindromic Subsequence最长的不连续回文串的长度

    [抄题]: Given a string s, find the longest palindromic subsequence's length in s. You may assume that ...

  2. Linux-目录结构及文件系统

    1.Linux 系统的顶层目录结构 /              根目录 ├── bin     存放用户二进制文件 ├── boot    存放内核引导配置文件 ├── dev     存放设备文件 ...

  3. cnetos 下 rar 解压

    第一步:http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz 下载 文件 或 wget http://www.rarlab.com/rar/rarli ...

  4. AutoCAD开发4--添加块)

    Private Sub CommandButton3_Click() Dim pInsertPnt As Variant 'pInsertPnt(0) = 100.5141: pInsertPnt(1 ...

  5. 【git】仓库目录下文件不加入版本控制

    如果文件未做过提交操作,在文件所在目录或上级目录新建.gitignore文本文件,将文件的相对路径写入,再将该文本文件提交,则目标文件将被git忽略. 补一个gitignore文件书写规范 2.至于已 ...

  6. VIP之CSC

    Color Space Converter II(CSC)   不同的色彩空间用于不同的设备.如RGB一般用于电脑显示器,YCbCr一般用于数字电视,IP还支持最小和最大的保护带[个人理解,这里的保护 ...

  7. winSocket编程(十)完成端口

    //本篇为转贴 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非 ...

  8. 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件

    [源码下载] 背水一战 Windows 10 (85) - 文件系统: 获取文件夹和文件, 分组文件夹, 排序过滤文件夹和文件, 搜索文件 作者:webabcd 介绍背水一战 Windows 10 之 ...

  9. 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded resource, ms-appdata:///, ms-local-stream://

    [源码下载] 背水一战 Windows 10 (63) - 控件(WebView): 基础知识, 加载 html, http, https, ms-appx-web:///, embedded res ...

  10. 「WC2018」州区划分(FWT)

    「WC2018」州区划分(FWT) 我去弄了一个升级版的博客主题,比以前好看多了.感谢 @Wider 不过我有阅读模式的话不知为何 \(\text{LATEX}\) 不能用,所以我就把这个功能删掉了. ...