Ensemble bouton cliquable valeur false à la propriété

J'ai besoin de désactiver le click-event d'un bouton dans Android. Juste un exemple, j'ai essayé de faire le suivant. J'ai pris un TextView nommé (un texte) en tant que Nom. La condition vérifie si, TextView est vide et bouton cliquable doit être définie sur false. Toutefois, cela ne se produit pas lorsque le pain est imprimé. Peut somemone me dire la raison. Aussi, si le champ de texte n'est pas vide, je veux réinitialiser le clickable event pour bouton comme vrai.

Fichier Java:

public class ButtonclickabkeActivity extends Activity {
    TextView tv;
    Button btn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.textView1);
        tv.setText("Name");
        btn = (Button) findViewById(R.id.button1);

        if (tv.getText().toString().length() != 0) {
            btn.setClickable(false);
            Toast.makeText(getApplicationContext(), "" + tv.getText().toString().length(), Toast.LENGTH_LONG).show();
        } else {
            btn.setClickable(true);
        }
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Toast.makeText(getApplicationContext(), "Button clicked", Toast.LENGTH_LONG).show();
            }
        });
    }
}

Fichier XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"/>
    <TextView 
        android:text="TextView" 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>
    <Button 
        android:text="Button" 
        android:id="@+id/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>
</LinearLayout>

OriginalL'auteur Joyson | 2012-07-21