【问题标题】:How to know when a user is done typing?如何知道用户何时完成输入?
【发布时间】:2020-05-21 03:42:57
【问题描述】:

在 Android Studio 中,我想制作一个程序,点击时 TextView 变为 EditView。用户完成输入后,我希望 EditText 然后变回 TextView 以显示输入的值。

我该怎么做?这是我目前所拥有的:

loc > TextView, 
edit_loc > EditText

loc.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        loc.setVisibility(View.GONE);
        edit_loc.setVisibility(View.VISIBLE);
    }
});

【问题讨论】:

    标签: java android textview editview


    【解决方案1】:

    您可以简单地编辑文本视图并在用户完成输入时将其设置为 false .. 以了解用户何时输入或不使用此代码:

     editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    
            }
    
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            //when user is typing
            }
    
            @Override
            public void afterTextChanged(Editable editable) {
             // after user complete typing
            }
        });
    

    【讨论】:

      【解决方案2】:

      关于 @amit-pandey,这不是完整的解决方案,因为在每次键入 TextWatcher 后都会被调用

      检查此链接,这是更好的解决方案,但不是最好的

      https://stackoverflow.com/a/28625726/12177115

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-20
        • 1970-01-01
        • 2015-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-01
        • 2011-04-05
        相关资源
        最近更新 更多