5

我正在尝试捕获禁用的edittext字段何时被按下。(我只想更改它,我不想在其中插入文本)。我为它分配了一个 onClickListener 但它没有被调用..有什么建议吗?还有其他我可以听的活动吗?

final EditText field = column.get(i);
field.setEnabled(false);
field.setClickable(true);
field.setFocusable(false);
field.setFocusableInTouchMode(false);

field.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                ((EditText)v).setText("a");

            }
        });

谢谢 !

4

2 回答 2

5

View当 a被禁用时,您不能传递单击事件。

因此,尝试更改:

field.setEnabled(false);

到:

field.setEnabled(true);
于 2012-09-26T12:27:31.403 回答
1
final EditText field = column.get(i);
field.setCursorVisible(false);

field.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                field.setText("something");
                field.clearFocus();
            }
        }
    });
于 2012-09-27T05:35:43.767 回答