This repository was archived by the owner on Feb 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
Method based @ViewsById isEmpty() #1966
Copy link
Copy link
Closed
Description
I've tried to used method based @ViewsById method, but found out that method parameter is empty List.
This happens beacuse of wrong order of calls in generated code.
I've also noticed that test of this part of code is incorrect.

AndroidAnnotations version:
4.2.0
Android compile SDK version:
25
Annotated code:
@ViewsById({R.id.divider_1, R.id.divider_2, R.id.divider_3, R.id.short_cut_container})
void init(List<View> views) {
...
}Expected generated code:
@Override
public void onViewChanged(HasViews hasViews) {
ArrayList<View> list_init_views = new ArrayList<View>();
View view_divider_1 = hasViews.findViewById(R.id.divider_1);
View view_divider_2 = hasViews.findViewById(R.id.divider_2);
View view_divider_3 = hasViews.findViewById(R.id.divider_3);
View view_short_cut_container = hasViews.findViewById(R.id.short_cut_container);
if (view_divider_1 != null) {
list_init_views.add(view_divider_1);
}
if (view_divider_2 != null) {
list_init_views.add(view_divider_2);
}
if (view_divider_3 != null) {
list_init_views.add(view_divider_3);
}
if (view_short_cut_container!= null) {
list_init_views.add(view_short_cut_container);
}
{
List<View> views = null;
views = list_init_views;
init(views);
}
}Actual generated code:
@Override
public void onViewChanged(HasViews hasViews) {
ArrayList<View> list_init_views = new ArrayList<View>();
View view_divider_1 = hasViews.findViewById(R.id.divider_1);
View view_divider_2 = hasViews.findViewById(R.id.divider_2);
View view_divider_3 = hasViews.findViewById(R.id.divider_3);
View view_short_cut_container = hasViews.findViewById(R.id.short_cut_container);
{
List<View> vie
5DCB
ws = null;
views = list_init_views;
init(views);
}
if (view_divider_1 != null) {
list_init_views.add(view_divider_1);
}
if (view_divider_2 != null) {
list_init_views.add(view_divider_2);
}
if (view_divider_3 != null) {
list_init_views.add(view_divider_3);
}
if (view_short_cut_container!= null) {
list_init_views.add(view_short_cut_container);
}
}Metadata
Metadata
Assignees
Labels
No labels