EditText侦听器未运行

我正在通过从另一个布局扩展一个EditText视图来创建一个EditText侦听器。侦听器无法正常工作。我正在尝试将打印语句放在下面,但是在之后都没有调用它们digitText.addTextChangedListener(...)调用之前的任何内容。我确保ID是正确的,并且没有得到使视图膨胀的空指针。关于它为什么不起作用的任何建议?

public void digitsListener () {

            LayoutInflater inflater = this.getLayoutInflater();
            View dialpadLayout = inflater.inflate(R.layout.dialpad, null);
            EditText digitText = (EditText)dialpadLayout.findViewById(R.id.digits);
            digitText.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    System.out.println("If this prints it works.");
                }

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

                @Override
                public void afterTextChanged(Editable s) {
                }
            });
}

这是Dialpad.xml内的EditText视图

<EditText
        android:id="@+id/digits"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"
        android:focusable="true"
        android:gravity="center"
        android:layout_weight="0.6"
        android:inputType="number"
        android:scrollHorizontally="true"
        android:textSize="40sp"/>
黑带

EditText必须在屏幕上可见才能进行交互,因此可能不需要inflaterinflater每次放大视图时,该方法都会返回一个新对象。因此,EditText您要与之互动的是与充气机返回的人不同的。如果您处于“活动”中,则可以通过这种方式更改代码。

public void digitsListener () {


            EditText digitText = (EditText) findViewById(R.id.digits);
            digitText.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    System.out.println("If this prints it works.");
                }

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

                @Override
                public void afterTextChanged(Editable s) {
                }
            });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章