Ошибка раздувания класса для пользовательских предпочтений [дубликат]

Другим сценарием является то, что вы нанесли нулевой объект в тип значения . Например, код ниже:

object o = null;
DateTime d = (DateTime)o;

Он выкинет NullReferenceException в роли. В приведенном выше примере это кажется совершенно очевидным, но это может произойти в более «поздних связующих» сложных сценариях, где нулевой объект был возвращен из некоторого кода, которого вы не являетесь, и приведение, например, генерируется некоторой автоматической системой.

Одним из примеров этого является этот простой фрагмент привязки ASP.NET с элементом управления календарем:

" />

Здесь SelectedDate на самом деле является свойством - типа DateTime - типа Calendar Web Control, и привязка может отлично вернуть что-то null. Неявный генератор ASP.NET создаст кусок кода, который будет эквивалентен приведенному выше методу. И это поднимет NullReferenceException, что довольно сложно определить, потому что он лежит в сгенерированном ASP.NET коде, который компилирует отлично ...

1
задан ubuntudroid 31 May 2011 в 14:34
поделиться

2 ответа

Вы создали класс abstract :

  public abstract class PasswordProtectedEditTextPreference  

Неудивительно, что он не может быть создан, -)

7
ответ дан dmon 4 September 2018 в 08:13
поделиться

Обычно это означает, что у вас нет соответствующего конструктора. Убедитесь, что ваш конструктор является общедоступным и принимает параметры Context и AttributeSet в качестве параметров:

public TimePreference(Context ctxt, AttributeSet attrs)

(из это пользовательское предпочтение из этого образца проекта )

4
ответ дан CommonsWare 4 September 2018 в 08:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: