2012-11-07 22 views
23

Bunu ayarlamak için setEnabled (false) kullanıyorum, Fakat çalışmıyor. ve bu yöntemden sonra, RadioGroup.IsEnabled() değeri yanlıştır. Değer değiştirildi.RadioGroup, setEnabled (false) çalışmıyor!

Kod, Android Programlama Kılavuzu 'dan alınmıştır. Ps: Spinner bileşenini kullanmak setEnabled (false) iyi. aşağıdaki gibi

kodudur:

paket com.example.testviews;

for (int i = 0; i < testRadioGroup.getChildCount(); i++) { 
    testRadioGroup.getChildAt(i).setEnabled(false); 
} 

cevap

64

aşağıdaki yöntemi kullanılır.

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

basit biriyse o da kendisini döndürür beri:

bulun ve muhtemelen de dahil olmak üzere, bu görünümün torunları tüm dokunmatik görüşlerini dönmek Böyle hepsini devre dışı bırakmak zorunda bu görüş dokunulabilir ise.

View#getTouchables()

+0

, çok teşekkürler! Ve, ikinci yöntem aslında iyi çalışıyor. Tüm RadioButton'u devre dışı bıraktı! Ama ilk hala çalışmıyor! Kod makinenizde iyi çalışıyor mu? – JasonW

+0

Çok teşekkür ederim! – JasonW

+0

Gerçekten, onun çalışması – abh22ishek

3

Görüntüleme birden dokunmatik elemanlarla oluşturmak edilebilir:

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.RadioGroup; 

public class TestRadioGroup extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.radiogroup); 

    final RadioGroup testRadioGroup = (RadioGroup) findViewById(R.id.testRadioGroup); 

    final Button changeEnabledButton = (Button) findViewById(R.id.changeEnabledButton); 
    changeEnabledButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      changeEnabled(testRadioGroup); 
     } 
    }); 

    final Button changeBgColorButton = (Button) findViewById(R.id.changeBackgroundColorButton); 
    changeBgColorButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      changeBgColor(testRadioGroup); 
     } 
    }); 

} 

protected void changeBgColor(RadioGroup testRadioGroup) { 
    // TODO Auto-generated method stub 
    testRadioGroup.setBackgroundColor(Color.BLUE); 
} 

protected void changeEnabled(RadioGroup testRadioGroup) { 
    // TODO Auto-generated method stub 
    if (testRadioGroup.isEnabled()) { 
     testRadioGroup.setEnabled(false); 
    } else { 
     testRadioGroup.setEnabled(true); 
    } 
} 

}

0

Aşağıdaki kodu kullanamazsınız; Görünümler devre dışı bırakıldıktan sonra, dokunulmaz çocuk/descentant görünümleri kalmadığında artık bir kez daha.

İlgili konular