RadioGroup, setEnabled (false)no funciona!
He usado setEnabled(false) para configurarlo unable,Pero no funciona. y después de este método, el valor de RadioGroup.IsEnabled () es false. El valor fue cambiado.
El código es de la Guía de Programación de Android. Pd: El componente Spinner usa el setEnabled (false) está bien.
El código es el siguiente:
Paquete com.ejemplo.testviews;
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);
}
}
}
3 answers
Utilice el siguiente método:
for (int i = 0; i < testRadioGroup.getChildCount(); i++) {
testRadioGroup.getChildAt(i).setEnabled(false);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-25 08:50:47
Las vistas se pueden componer con varios elementos táctiles. Tienes que desactivarlos todos, así:
for(View lol : your_spinner.getTouchables() ) {
lol.setEnabled(false);
}
Si es simple ya que también se devuelve a sí mismo:
Busca y devuelve todas las vistas tocables que son descendientes de esta vista, posiblemente incluyendo esta vista si es tocable en sí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-18 09:42:58
No puedes usar el siguiente código;
for(View lol : your_spinner.getTouchables() ) {
lol.setEnabled(false);
}
Una vez que las vistas se han desactivado, ya no hay vistas menores/descendentes tocables.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-25 05:34:13