Android更改EditText

时间:2016-07-22 20:21:35

标签: android user-interface android-edittext string-length

我有一个提示(“名称”),下划线包含提示的长度,但是当我开始输入下划线时,如果它比提示短,则不会跟我输入的长度相符。我想知道是否有办法改变下划线的长度?

enter image description here [enter image description here] [enter image description here] 3

2 个答案:

答案 0 :(得分:1)

此代码应该符合您的要求:

$j("#popoverTest").hover(
    function () {
        var e = $j(this);
        e.off('hover');
        $j.get(e.data('ajax'),function(data) {
            e.popover({
                html: true,
                placement: 'auto',
                content: data,
                trigger: 'manual'
            }).popover('show');
        });
    }, function() {
        var e = $j(this);
        setTimeout(function () {
            if (!$j(".popover:hover").length) {
                $j(e).popover("hide");
            }
        }, 300);
    }
);

我使用黑客,所以,当我们专注于我们的编辑文本,或者没有聚焦它,但它不是空的时候,我们清除它的暗示,然后,当我们不聚焦它并且它是空的,我们回顾了一下。

<强>已更新

此外,您可以添加文本观察器以在其清除所有文本时返回其位置的提示,但不会从中忽略:

final EditText editText = (EditText) findViewById(R.id.edit_query);
final CharSequence rememberHint = editText.getHint();
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean b) {
        if (!b && TextUtils.isEmpty(editText.getText())) {
            editText.setHint(rememberHint);
        } else {
            editText.setHint("");
        }
    }
});

此答案的添加将从用户角度提供更多默认行为。

答案 1 :(得分:0)

PLease添加此侦听器:

yourEditText.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {

                // you can call or do what you want with your EditText here
                youEditText.setHint("");
            }

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

            public void onTextChanged(CharSequence s, int start, int before, int count) {}
        });