Извините за устранение такой старой проблемы, но казалось, что эта проблема не решена, поэтому я приведу немного информации с моей стороны.
У меня была похожая проблема, и компилятор также говорил мне, что проблема была в методе start (). Однако, когда я закомментировал часть потока и просто запустил код в том же потоке, что и пользовательский интерфейс, компилятор указал мне на реальный источник проблемы: код внутри потока.
Убедившись, что код не выдал ошибку, я вложил код в исходный код потока, и он перестал выдавать мне ошибку NullPointerException.
Надеюсь, это поможет кому-то на этом пути.