TextView的clickable属性设置为false无效

5

我该如何使TextView不可点击?我尝试使用textView.setClickable(false),但它并没有生效。以下是我的一小段代码:

t1 = (TextView)findViewById(R.id.text_View1);

                t1.setClickable(false);
                //t1.setFocusableInTouchMode(false);
                //t1.setEnabled(false);

                t1.setFocusable(false);

                t1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                        t1.setText("clicked");
                        }
                });

但是当我点击TextView时,文本会改变,请帮忙解决。

3
可以使用t1.setOnClickListener(null); - Bills
3个回答

7
您需要完全禁用TextView:
t1.setEnabled(false);

这不是这个问题的答案,问题是为什么设置clickable属性不会禁用onClick事件。 - Davoud Badamchi

5

尝试像这样更改监听器位置

t1.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         t1.setText("clicked");
     }
});
t1.setClickable(false);
//t1.setFocusableInTouchMode(false);
//t1.setEnabled(false);

t1.setFocusable(false);

为什么在xml中添加android:clickable="false"无效? - Davoud Badamchi
因为设置onClickListener会覆盖setClickable(false) - Willt42

0
如果您在TextView中有链接,请确保您没有设置movementMethod = LinkMovementMethod.getInstance()。可能已经设置了android:autoLink="web"。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接