3

私はこのコードを持っています:

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が機能しないのはなぜですか?当然のことのようです。

4

2 に答える 2

13

setEnabled(false)TextViewに何を期待しますか?

TextViewを非表示にする場合は、setVisibility(View.INVISIBLE)

クリックを無効にしたい場合は、setOnClickListener(null)

テキストを無効な状態で表示する場合は、ビューの状態を別のXMLファイルで定義する必要があります。

例: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"
于 2012-11-15T16:23:42.297 に答える
0

ビューは、複数のタッチ可能な要素で構成できます。次のように、それらをすべて無効にする必要があります。

for(View lol : text_view.getTouchables() ) {
    lol.setEnabled(false);
}

それ自体も返すので、それが単純なものである場合:

このビューの子孫であるすべてのタッチ可能なビューを見つけて返します。タッチ可能である場合は、このビューも含まれる可能性があります。

View#getTouchables()

于 2013-10-18T09:47:29.917 に答える