Единственное решение, которое я нашел для этого сценария, - это создать 2 макета. Один редактируемый, а другой нет. Возможно, вам придется создать более 2 макетов на основе различных условий. Сохраните условия в SharedPreferences или другими способами и загрузите соответствующий макет на основе условий после перезапуска Действия. Вот пример:
в onCreate () действия:
configuration = new Configuration(this.getSharedPreferences(Configuration.SHARED_PREFERENCES_FILE_NAME, Context.MODE_PRIVATE));
manualSettingsMode = configuration.isManualSettingsMode();
if(manualSettingsMode){
setContentView(R.layout.editableconfigurationsettings);
}else {
setContentView(R.layout.configurationsettings);
}
Действие может быть перезапущено на основе проверки состояния и вызова функций следующим образом:
private void setManualEditing(){
configuration.set_isManualSettingsMode(true);
this.recreate();
}
private void setAutoEditing(){
configuration.set_isManualSettingsMode(false);
this.recreate();
}
Надеюсь, это поможет. Там действительно должно быть лучшее решение, но это то, что я делал. В идеале можно было бы делать это на отдельных полях и не нужно перезагружать упражнение / макеты. -bobby