java - setEnabled 在 android 中不起作用

标签 java android

我有这个代码:

public TextView main_text;//begining of the class

main_text = (TextView) findViewById(R.id.TextMain); //inside OnCreate

main_text.setEnabled(false); //inside button handler

现在是 Xml 的一部分
    <TextView
        android:id="@+id/TextMain"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="left"
        android:textColor="#FFFFFF"
        android:text="@string/home_load" >

    </TextView>

为什么 SetEnable 不起作用?这似乎很明显,它应该。

最佳答案

你期待什么setEnabled(false)对 TextView 做些什么?

如果你想隐藏 TextView,你应该调用 setVisibility(View.INVISIBLE)
如果您想禁用点击,您应该调用 setOnClickListener(null)
如果您希望文本以禁用状态显示,则需要在单独的 XML 文件中定义 View 的状态。

例如 textView.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:color="@color/enabled" />
    <item android:state_enabled="false" android:color="@color/disabled" />
</selector>

然后在您的 TextView 定义中使用
android:textColor="@drawable/textView"

关于java - setEnabled 在 android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401602/

相关文章:

java - 是否可以使用 EasyMock 创建一个实现多个接口(interface)的模拟对象?

java - 通过Java Applet访问HBase REST API

Android 小部件大小不正确

android - Firebase Analytics - app_open 包括收到的推送通知

Android : java. lang.NoSuchMethodError : org. apache.commons.codec.binary.Base64.encodeBase64String in android

java - 如果定义了时区,则 Calendar.getTime() 不返回 UTC 日期

java - 使用 Java 测试谁是文件的所有者

android - 我们如何删除sqlite中的外键?

java - Android 中的 P2P 音频共享

java - 字符串标记器问题