Когда вы говорите, что хотите «полностью удалить элемент в массиве», вы имеете в виду, что хотите, чтобы ListPreference не отображался на PreferenceScreen? Или вы хотите, чтобы он возвращал нулевое значение при попытке получить заданное значение?
Хорошо, теперь я понимаю. Я думаю, что вы не можете удалить только этот элемент в массиве. Вы должны установить новые массивы для записей и entryValues для вашего ListPreference, программно.
Вы найдете ListPreference по его ключу.
Вот пример:
if (accelerometerNotSupported) {
ListPreference accelMode = (ListPreference) findPreference("acceleratorMode");
accelMode.setEntries(new String[]{"Others Modes","Others Modes"});
accelMode.setEntryValues(new String[]{"0", "1"});
}
Это изменит ваш список предпочтений, чтобы иметь только эти две опции.