Mam problem z budowaniem aktywności z AndroidAnnotations. mam rodzic aktywny nazwie TemplateActivity:Dziedziczenie z AndroidAnnotations
@EActivity(R.layout.activity_template)
@NoTitle
public class TemplateActivity extends Activity
{
// some views
// ...
@ViewById(R.id.main_framelayout)
FrameLayout mainFrameLayout;
@AfterViews
public void postInit()
{
Log.d("DEBUG", "postInit"); // never called, strange...
}
public void setMainView(int layoutResID)
{
mainFrameLayout.addView(LayoutInflater.from(this).inflate(layoutResID, null));
}
}
I w moim drugim Aktywny, chcę wypełnić mainFrameLayout z anoter xml układ tak:
@EActivity
public class ChildActivity extends TemplateActivity
{
@Override
public void postInit()
{
super.postInit();
setMainView(R.layout.activity_child_one);
}
}
Kiedy chcę startActivity, mój ChildActivity jest puste i postInit nigdy nie był wywoływany. Czy ktoś może mi powiedzieć, co jest nie tak? Dzięki za zaliczkę.
Przede wszystkim nie używaj 'System.out.println (" postInit ");'. Zamiast tego użyj 'Log.d (" DEBUG "," postInit ");'. Czy widzisz teraz dane wyjściowe w Logcat? Po drugie, czy 'setMainView (int)' jest metodą, którą utworzyłeś? Czy możesz umieścić tutaj swój kod? – Vikram
Prawo do dziennika. Tak, stworzyłem setMainView, dodałem go do pytania. – ludriv
Nie jestem zaznajomiony z "AndroidAnnotations". Ale czy postInit() w ChildActivity nie powinien mieć adnotacji z '@ AfterViews'? – Vikram