„RequestLayout () niepoprawnie wywołany przez…” błąd w systemie Android 4.3
Mam prosty Custom TextView, który ustawia niestandardową czcionkę w swoim konstruktorze, tak jak poniższy kod
public class MyTextView extends TextView {
@Inject CustomTypeface customTypeface;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
RoboGuice.injectMembers(context, this);
setTypeface(customTypeface.getTypeface(context, attrs));
setPaintFlags(getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}
}
Działa dobrze od Gingerbread przez JB 4.2. Ale log adb jest zalany następującymi komunikatami, gdy pokazuję mój niestandardowy widok tekstowy na telefonie z Androidem 4.3.
10-05 16:09:15.225: WARN/View(9864): requestLayout() improperly called by com.cmp.views.MyTextView{42441b00 V.ED.... ......ID 18,218-456,270 #7f060085 app:id/summary} during layout: running second layout pass
10-05 16:09:15.225: WARN/View(9864): requestLayout() improperly called by com.cmp.views.MyTextView{423753d0 V.ED.... ......ID 26,176-742,278 #7f060085 app:id/summary} during layout: running second layout pass
Zauważam, że nieco spowalnia interfejs użytkownika. Jakieś pomysły, dlaczego tak się dzieje w 4.3?
Doceniam Twoją pomoc.