获得listview中的edittext文字

这周写应用的时候遇到一个问题,就是在listview中的edittext可以输入,但不能获得到edittext中输入的文字。解决的方法是给edittext添加TextWatcher监听事件,并在其中让edittext在输入时通过调用dispatchKeyEvent()方法一直获得焦点,最后在setOnKeyListener()中获得edittext输入的文字。

示例代码如下(代码全部写在adapter中):

private boolean programmaticalTextChange = false;

 private KeyEvent UnknownKey = new KeyEvent(KeyEvent.ACTION_DOWN,
             KeyEvent.KEYCODE_UNKNOWN);

  holder.groupPwd.setOnKeyListener(new OnKeyListener()
  {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event)
            {
             currentPwd=((EditText) v).getText().toString();
                return false;
            }
        });
    holder.groupPwd.addTextChangedListener(new MyTextWatcher(holder.groupPwd));

    public class MyTextWatcher implements TextWatcher
    {
        private EditText editText;

        public MyTextWatcher(EditText editText)
        {
            this.editText = editText;
        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            if (!programmaticalTextChange)
                editText.dispatchKeyEvent(UnknownKey);
        }
    }

参考地址:http://stackoverflow.com/questions/14828052/how-can-i-store-edittexts-changes-in-the-items-of-a-listview

时间: 2024-10-18 10:58:53

获得listview中的edittext文字的相关文章

listview中的editText无法输入无法聚焦等问题

在listview中的item中包含一个或多个edittext时,可能出现item无法聚焦问题,无法输入问题,输入后会被自动清空等问题. (1)首先解决无法让item聚焦的问题: 1.在item的最外层的布局中加入 android:descendantFocusability="blocksDescendants" 2.在edittext或者抢占焦点的button或者checkbox中加上 android:focusable="false" 这样你的item就可以点

【Android】ListView中EditText焦点问题

一.描述: 近期一个项目中需要开发一种类似表格的界面来显示和配置参数,Android并无直接类似表格的控件支持,我采用了ListView中布局EditText和TextView来实现,其中TextView用来显示参数表示符,EditText用来显示参数值,用一个自定义AlertDialog弹出显示,如下图所示. 二.问题: 开发出来的APK软件,在手机上操控是OK的,但在电视上无法操控,具体表现为: 三.解决: 1  通过设置focus停在ListView上,解决ListView无法点击的问题.

ListView中使用ImageLoader框架下载网络图片显示

首先,ListView中如何下载文字和图片,大家可以看看本人之前的blog ListView获取网络数据显示. 所以这里关于首次如何下载xml数据,绑定适配器等就不更详细有了,主要是分享如何在ListView中使用ImageLoader这个开源框架如下载图片. 首先介绍一下ImageLoader.用户在快速拖动的时候容易出现卡顿的现象,可能下载不及时完全,然后有时候会可能出现显示错误的item的ImageView等问题,使用开源框架ImageLoader就可以较好的控制这个问题. 首先,使用Im

EditText嵌在ListView中导致安卓键盘闪退的问题

今天遇到一个诡异的问题,在锤子和三星手机上出现了点击EditText结果键盘闪了一下又退下了,其他手机上却没有这个问题,搜了很久也没有找到,后来各种变换搜索词终于在StackOverFlow上找到了答案,在这里分享给大家. http://stackoverflow.com/questions/20406472/edittext-in-listview-loses-focus-when-pressed-on-android-4-x 究其原因是因为EditText在ListView中时,当EditT

改变listview中item选中时文字的颜色

当listview的某个item选中时,默认有个选中的高亮显示,如果你要自定义选中时的高亮显示效果,可以在listview中设置属性 1 android:listSelector="@drawable/item_selector" 其中item_selector是在drawable目录下定义的一个xml文件,这种用于突出不同状态下显示效果的xml文件我们称之为selector: 1 2 3 4 5 6 7 <?xml version="1.0" encodin

android edittext + listview 实现搜索listview中的内容

以前一直以为edittext中输入一些东西.然后可以检测listview中的内容很高大上.一直没有去尝试.现在项目中遇到了.特此过来尝试一番.结果发现挺简单的,效果还不错,主要就是用到了edittext的 textchange监听 以及listview的过滤.下面直接上截图: xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://

关于ListView中EditText在软键盘弹出后的焦点问题

转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. 解决办法:在getView()方法中添加监听器: editText.setOnTouchListener(new OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEve

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l

自定义绘制android EditText的背景,定义EditText文字的显示样式

EditText可以通过layer-list来绘制背景: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" //框为矩形 > &l