EditText中的onClickListener的键盘错误

时间:2014-05-14 10:05:35

标签: android android-layout onclicklistener

我遇到editText问题。我想在此editText中放置一个默认文本,当您单击文本消失时,您可以输入一个数字。布局的代码一切顺利:

<EditText
    android:id="@+id/yearEdit"
    android:layout_width="145dp"
    android:layout_height="45dp"
    android:layout_marginBottom="40dp"
    android:gravity="center"
    android:ems="10"
    android:inputType="number|numberDecimal"
    android:text="@string/chooseDate"
    android:textSize="13sp"
     />

在编辑文本的活动中有textWatcher和onClickListener:

private class ChooseYear implements TextWatcher, OnClickListener {

    @Override
    public void afterTextChanged(Editable arg0) {
        if (!yearEdit.getText().toString().equals("")) {
            yearChoose = Integer.parseInt(yearEdit.getText()
                    .toString());
        }

    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1,
            int arg2, int arg3) {

    }

    @Override
    public void onTextChanged(CharSequence arg0, int arg1,
            int arg2, int arg3) {
    }

    @Override
    public void onClick(View arg0) {
        if (yearChoose == -1) {
            yearEdit.setText("");
        }
    }

}

但我的问题是:当我把它作为onClickListener时,当我点击它的“完成”按钮时,android键盘不再关闭。有人知道为什么吗?它是否存在正确的修复方法?

非常感谢你的帮助,

艾利奥特

1 个答案:

答案 0 :(得分:0)

对于有兴趣的人,这是我对自己问题的结论。

在EditText上添加OnClickListener时,看起来keyBoard不能正常工作(“完成”按钮没有关闭键盘)。要解决这个问题,我必须添加一行:

yearEdit.setOnClickListener(null);
代码中的

。当OnClickListener设置为null时,“完成”按钮重新启动以正常工作。如果你需要它(不是我的情况),你必须重新设置OnClickListener。

我的观点是,这可能是一个Android错误,因为没有逻辑,而OnClickListener对键盘有影响。如果你想分享你对它的看法,我将会感兴趣。