I have generic super class:
@EViewGroup(R.layout.report_list_item_descr)
abstract public class BaseReportRowListDescr<T> extends LinearLayout {
public interface ItemSelectListener<T> {
public void onItemSelected(T object);
}
private String title;
private String descr;
private T object;
private ItemSelectListener<T> listener;
public BaseReportRowListDescr(Context context, String title, String descr, T object, ItemSelectListener<T> listener) {
super(context);
this.title = title;
this.descr = descr;
this.object = object;
this.listener = listener;
}
...
AA does not save generic info, so translated to T class, which is not found. So I make base class abstract and create child:
@EViewGroup(R.layout.report_list_item_descr)
public class HistoryDayReportRowListDescr extends BaseReportRowListDescr<HistoryDay> {
public HistoryDayReportRowListDescr(Context context, String title, String descr, HistoryDay object,
ItemSelectListener<HistoryDay> listener) {
super(context, title, descr, object, listener);
}
}
AA generated this code:
public final class HistoryDayReportRowListDescr_
extends HistoryDayReportRowListDescr
implements HasViews, OnViewChangedListener
{
private boolean alreadyInflated_ = false;
private final OnViewChangedNotifier onViewChangedNotifier_ = new OnViewChangedNotifier();
public HistoryDayReportRowListDescr_(Context context, String title, String descr, HistoryDay object, HistoryDay>listener) {
super(context, title, descr, object, listener);
init_();
}
important part is last param of constructor: HistoryDay>listener instead of ItemSelectListener<HistoryDay> listener.
Version is 3.0.1
I have generic super class:
AA does not save generic info, so translated to T class, which is not found. So I make base class abstract and create child:
AA generated this code:
{
important part is last param of constructor:
HistoryDay>listenerinstead ofItemSelectListener<HistoryDay> listener.Version is 3.0.1