最近项目的购物车中用列表中包含了留言功能, 需要获取EditText输入的内容,当购买多件商品时,就有点棘手了。

经过查资料解决了这个功能,并写了一个案例;

效果图:

可以在商品数据用一个字段来管理留言数据,这样就可以方便的操作了。

代码:

public class MainActivity extends AppCompatActivity {

    ListView listView;

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
} private void initView(){
listView=(ListView)findViewById(R.id.listview);
listView.setAdapter(new ListAdapter(this));
}
public void saveEditData(int position, String str) {
Toast.makeText(this,str+"----"+position,Toast.LENGTH_LONG).show();
}
}

Adapter

public class ListAdapter extends BaseAdapter {

    Context context;
LayoutInflater inflater;
String[] strings=new String[]{"商品1","商品2","商品3"};
public ListAdapter(Context context) {
this.inflater=LayoutInflater.from(context);
this.context=context;
} @Override
public int getCount() {
return 3;
} @Override
public Object getItem(int position) {
return strings[position];
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (null == convertView){
convertView = inflater.inflate(R.layout.item_multiple_confirm,null);
holder =new ViewHolder(convertView,position);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.tv_name.setText(getItem(position).toString());
return convertView;
} class ViewHolder{
TextView tv_name;
EditText editText;
public ViewHolder(View view,int pisition){
tv_name = (TextView) view.findViewById(R.id.fill_order_name);
editText= (EditText) view.findViewById(R.id.fill_order_ltext);
editText.setTag(pisition);//存tag值
editText.addTextChangedListener(new TextSwitcher(this));
}
} class TextSwitcher implements TextWatcher {
private ViewHolder mHolder; public TextSwitcher(ViewHolder mHolder) {
this.mHolder = mHolder;
} @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int position = (int) mHolder.editText.getTag();//取tag值
((MainActivity)context).saveEditData(position, s.toString());
} @Override
public void afterTextChanged(Editable s) { }
} }

代码是写的比较简单,源码点击下载

Android-------ListView列表中获取EditText输入的值的更多相关文章

  1. Android 有关在ListView RecycleView 中使用EditText Checkbox的坑

    这是一篇文字超多的博客,哈哈哈,废话自行过滤··· 遇到问题 在开发中我们常会在ListView , RecycleView 列表中添加EditText输入框,或者checkbox复选框.   复选框 ...

  2. Java编程中获取键盘输入实现方法及注意事项

    Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...

  3. 根据start和limit从已有的数据列表中获取从start开始的limit个数据

    代码记录(需求:根据start和limit从已有的数据列表中获取从start开始的limit个数据) 已有的数据列表:这个数据列表是经过处理的,可能是在SQL查询时无法处理的如多条件排序,而排序条件需 ...

  4. asp.net mvc 在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3   这时想在 ...

  5. 在android的spinner中,实现取VALUE值和TEXT值。 ZT

    在android的spinner中,实现取VALUE值和TEXT值.   为了实现在android的 spinner实现取VALUE值和TEXT值,我尝试过好些办法,在网上查的资料,都是说修改适配器, ...

  6. js中获取css样式属性值

    关于js中style,currentStyle和getComputedStyle几个注意的地方 (1)用js的style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的.针对css ...

  7. asp.net mvc 如何在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3   这时想在 ...

  8. Py中去除列表中小于某个数的值

    ### Py去除列表中小于某个数的值 print('*'*10,'Py去除列表中小于某个数的值','*'*10) nums = [2,3,4,10,9,11,19,14] print('*'*10,' ...

  9. Android 在界面中显示以及输入文本信息 TextView和EditText

    Android控件之TextView和EditTextTextView:显示文本框控件EditText:输入文本框TextView和EditText的常用属性TextView控件的常用属性androi ...

随机推荐

  1. UVA10954:Add All(优先队列)

    题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68990#problem/O 题目需求:在数组中拿出两个数相加,再把结果放回数组中再 ...

  2. Spring基本功能-依赖注入

    一.Spring的依赖注入(DI) 1.1 xml形式注入 (1)普通变量的注入 //普通变量的注入,xml配置property,实体类配置set方法注入 <bean id="pers ...

  3. vim树形目录

    NERD tree树形目录插件 • 插件简介 NERD tree是一款vim树形文件资源管理器插件.NERD tree可以让你在vim中浏览你的文件系统,打开想要的文件或目录. • 插件安装 ▶ 下载 ...

  4. CTreeView 的教程

    整个网上搜了一圈没有好的CTreeView 的教程,所以自己谢谢看. CTreeView 是什么? C打头的东西当然是一个类了. 有类就有继承,他的继承关系如下. 有个东西和他比较像 叫CTreeCt ...

  5. SuperObject使用

    SuperObject SuperObject第三方控件包,试用了下并编写了个DEMO,发现还是蛮强大.废话 少说,看看下面的代码就知道其强大: 1.JSON原始数据 {   "name&q ...

  6. Linux系统——inode和block

    Linux文件属性 磁盘被分区并格式化为ext4文件系统后,会生成一定数量的inode和block Inode 索引节点 作用:存放文件的属性信息以及作为文件的索引(指向文件的实体block) Blo ...

  7. Java设计原则—开闭原则(转)

    原文出自:http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html 开闭原则(Open Closed Principle)是Ja ...

  8. hdu5558 Alice's Classified Message

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=5558 题目: Alice's Classified Message Time Limit: 1 ...

  9. 对 META标签 的一点点了解

    ①META标签是啥 META标签,是HTML语言head区的一个辅助性标签.在几乎所有的page里,我们都可以看 到类似下面这段html代码: ---------------------------- ...

  10. java中的重量级与轻量级概念

    首先轻量级与重量级是一个相对的概念,主要是对应用框架使用方便性和所提供服务特性等方面做比较的. 比方说EJB就是一个重量级的框架,因为它对所编写的代码有限制,同时它也提供分布式等复杂的功能. 相比之下 ...