`
HU555U
  • 浏览: 30529 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

获取ListView的item中的EditText的值

阅读更多
ListView的item中有EditText,当需要获得EditText中输入的值时,有时候会重复获取,有时候会发生错位的现象。现贴出适配器的代码,完整例子见附件。
public class MyAdapter extends BaseAdapter {
	
	private List<Entity> list;
	private LayoutInflater inflater;

	public MyAdapter(Context context, List<Entity> list) {
		this.list = list;
		inflater = LayoutInflater.from(context);
	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public Object getItem(int position) {
		return list.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}

	@Override
	public View getView(final int position, View convertView, ViewGroup parent) {
		ViewHolder viewHolder;
		if (convertView == null) {
			convertView = inflater.inflate(R.layout.item, null);
			viewHolder = new ViewHolder();
			viewHolder.textView = (TextView) convertView.findViewById(R.id.txt_item);
			viewHolder.editText = (EditText) convertView.findViewById(R.id.edit_item);
			viewHolder.editText.setTag(position);
			viewHolder.editText.addTextChangedListener(new MyTextChangeListener(viewHolder));
			convertView.setTag(viewHolder);
		} else {
			viewHolder = (ViewHolder) convertView.getTag();
			viewHolder.editText.setTag(position);
		}
		Entity entity = list.get(position);
		viewHolder.editText.setText(entity.getContent());
		viewHolder.textView.setText(entity.getId());
		return convertView;
	}
	
	public class ViewHolder {
		TextView textView;
		EditText editText;
	}
	
	private class MyTextChangeListener implements TextWatcher {
		
		private ViewHolder holder;

		public MyTextChangeListener(ViewHolder holder) {
			this.holder = holder;
		}

		@Override
		public void afterTextChanged(Editable s) {
			int position = (Integer) holder.editText.getTag();
			Entity entity = list.get(position);
			entity.setContent(s.toString());
		}

		@Override
		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {
		}

		@Override
		public void onTextChanged(CharSequence s, int start, int before,
				int count) {
		}
	}
	
	public List<Entity> getData() {
		return list;
	}

}
  • Lin.rar (48.7 KB)
  • 下载次数: 32
2
2
分享到:
评论
1 楼 你妹的说 2016-06-20  
我想表达的是,里面的  监听 没有处理  点击 没有光标

相关推荐

    ListView获取item中EditText值

    ListView获取item中EditText值

    Android中ListView多个Edittext获取输入内容.rar

    Android实战运用中可能有很多地方会用到ListView,更为复杂的是每个item嵌入了多个Edittext,给我们造成很大的困扰,本资源就是为大家提供一个简单的参考,希望对大家有所帮助

    动态获取ListView中EditText中输入的值

    在ListView中item中的editext中输入数据,可以动态的取得

    安卓源码包android web应用OCR图像识别listview相关EditText输入框Launcher 桌面45个合集

    安卓源码包android web应用Dialog对话框OCR图像识别listview相关EditText输入框Launcher 桌面45个合集: [四次元]Android Launcher 桌面分页滑动代码.rar [四次元]Android Launcher 源码修改可编译.rar [四次元]...

    Android UI

    这是公司给我的UI培训项目 包含 常用UI组件的使用 在 EditText下弹出历史记录 活用ListView的Adapter 获取 ListView、GridView的Item内部的组件的内容 还有一些 其他的使用 总之 对AndroidUI开发 有很大的帮助

    安卓记事本

    //获取当前时间 String times = formatter.format(curDate); // 定义ContentValues ContentValues cValues = new ContentValues(); cValues.put(KEY_BODY, mBody); cValues.put(KEY_TITLE, mTitle...

    自己平时做的android相关的总结

    ListView中的Item自定义点击后的背景色的方法。 drawable各个分辨率 fragment 的几种创建方式 fragment第一次使用遇到的问题 activity变身对话框 onMeasure 中的AT_MOST EXACTLY UNSPECIFIED MotionEvent的触发记录 ...

    Android应用开发I实验指导书.doc

    《Android应用开发I》实验指导书 计算机科学及技术系 目 录 实验一 :第一个应用程序 3 实验二 :基本控件 1 实验三 :高级控件 4 实验四 :菜单和对话框 7 实验五 :数据存储 8 实验六 :后台处理及获取网络数据 9 ...

    Android 开发技巧

    4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter...

    Android开发资料合集-World版!

    4.6.5、ListView 被选中item的背景颜色 82 4.6.6、ListView自定义背景颜色 83 4.6.7、List长按与短按消息映射 84 4.6.8、点击ListView改变背景色 87 4.6.9、自动滚动ListView 88 4.6.10、BaseExpandableListAdapter...

    目录选择器源代码

    * 值为1表示创建打开目录类型的对话框,2为创建保存文件到目录类型的对话框 * @param fileType * 要过滤的文件类型,null表示只选择目录 * @param resultPath * 点OK按钮返回的结果,目录或者目录+文件名 */ ...

Global site tag (gtag.js) - Google Analytics