编辑后按下“完成”后返回上一个值后的EditText.getText()

时间:2013-09-25 10:32:04

标签: android android-edittext

我在ViewHolder中为数字输入设置了EditText。我想在用户完成输入后立即将值保存在某处,所以我等待按下“完成” - 按钮。不幸的是,当我在EditText上使用getText()时得到的值是旧值,这意味着在调用该方法时,内部状态尚未更新。

我在EditTextPreference元素中发现了类似的情况,但是那里的解决方案(使用优先级对象参数代替回调函数)不能在这里应用,因为onEditorAction()没有这样的参数。

holder.input = (EditText) convertView.findViewById(R.id.input_element_edittext);

holder.input.setOnEditorActionListener(new OnEditorActionListener() {

            @Override
            public boolean onEditorAction(TextView v, int actionId,
                    KeyEvent event) {

                if (actionId == EditorInfo.IME_ACTION_DONE) {

                    // is actually the old value
                    Log.w("new value", holder.input.getText().toString());
                }
                return false;
            }
        });

(我很困惑,为什么我找不到任何解决方案,因为它似乎是一个基本问题)

我很欣赏有关如何使其发挥作用的任何想法。

0 个答案:

没有答案