Опитвам се да тествам някакъв код с Robolectric.
Моят код раздува оформление и след това се опитва да извлече изглед чрез извикване на findViewById
на това оформление. Раздуването на оформлението работи добре. Въпреки това findViewById
на това оформление винаги връща нула.
Виждам в програмата за отстраняване на грешки, че всички (сенчести) дъщерни изгледи на раздутото оформление са там и имат зададени атрибути. Но идентификаторът на всяко дете е зададен на 0. Защо е така? Изпускам ли нещо?
Действителният код на устройство или емулатор (без robolectric) работи добре, но когато се опитам да го стартирам с robolectric, той се проваля, както е описано.
По принцип кодът ми изглежда по следния начин:
LayoutInflater inflater = (LayoutInflater) Robolectric.application.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.timeline_list_item, null);
TextView view = (TextView) layout.findViewById(R.id.listItem_date);
//why is view null here!
view.setText("test");
Поздрави Франк