1

Каждый раз, когда я использую android.support.wearable.view.GridViewPager в макете, я получаю эту ошибку в редакторе.Проблемы с Studio Studio Rendering с GridViewPager (Android Wear)

GridViewPager NullPointerException

Rendering Problems 
java.lang.NullPointerException 
    at android.support.wearable.view.GridViewPager.recomputeScrollPosition(GridViewPager.java:1236) 
    at android.support.wearable.view.GridViewPager.onSizeChanged(GridViewPager.java:1190) 
    at android.view.View.sizeChange(View.java:15083) 
    at android.view.View.setFrame(View.java:15056) 
    at android.view.View.layout(View.java:14964) 
    at android.view.ViewGroup.layout(ViewGroup.java:4631) 
    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055) 
    at android.view.View.layout(View.java:14968) 
    at android.view.ViewGroup.layout(ViewGroup.java:4631) 
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 
    at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 
    at android.view.View.layout(View.java:14968) 
    at android.view.ViewGroup.layout(ViewGroup.java:4631) 

ли кто-нибудь знает, как решить эту проблему?

Спасибо

ответ

0

Какую версию com.google.android.support:wearable вы используете? Потому что это выглядит как ошибка (фиксированная) в GridViewPager.

Если вы сравниваете соответствующие строки между версиями класса 1.0.0 и 1.1.0, вы можете увидеть, что отсутствует нулевая проверка, которая была изменена позже. В версии 1.0.0:

ItemInfo ii = infoForPosition(this.mCurItem); 
int targetX = ii != null ? computePageLeft(ii.positionX) - getPaddingLeft() : 0; 
int targetY = ii != null ? computePageTop(ii.positionY) - getPaddingTop() : 0; 

// NPE in following line (1236), only possible if ii == null. 
if ((targetX != getScrollX(ii.positionY)) || (targetY != getScrollY())) 
{ 
    ... 

в то время как версия 1.1.0:

ItemInfo ii = infoForPosition(this.mCurItem); 
if (ii != null) // <- check is moved here. 
{ 
    int targetX = computePageLeft(ii.positionX) - getPaddingLeft(); 
    int targetY = computePageTop(ii.positionY) - getPaddingTop(); 
    if ((targetX != getRowScrollX(ii.positionY)) || (targetY != getScrollY())) 
    { 
     ... 

Я хотел бы попробовать обновление и восстановление.

Смежные вопросы