Почему моя переменная ProgressBar считается нулевой?это фрагмент, кстати - PullRequest
0 голосов
/ 29 мая 2018

Мне было интересно, почему значение progressBarLoading равно нулю.

Это был код Java для фрагмента:

public ProgressBar progressBarLoading;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    View view = inflater.inflate(R.layout.home_fragment_one, container, false);
    progressBarLoading = (ProgressBar) view.findViewById(R.id.progressBarLoading);
    progressBarLoading.setVisibility(View.VISIBLE);
    return view;
}

И это для XML

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:foreground="?attr/selectableItemBackground"
    app:cardBackgroundColor="@color/primary">

    <LinearLayout
        android:id="@+id/newReleases"
        android:layout_width="162dp"
        android:layout_height="282dp"
        android:layout_gravity="center"
        android:background="@color/primary"
        android:orientation="vertical"
        android:paddingTop="8dp">

        <ProgressBar
            android:id="@+id/progressBarLoading"
            android:layout_width="162dp"
            android:layout_height="216dp"
            android:layout_gravity="center"
            android:padding="8dp"
            android:scaleType="centerCrop"
            android:visibility="visible" />

        <ImageView
            android:id="@+id/bookCover"
            android:layout_width="162dp"
            android:layout_height="216dp"
            android:layout_gravity="center"
            android:padding="8dp"
            android:scaleType="centerCrop" />

    </LinearLayout>
</android.support.v7.widget.CardView>

И это ошибка в вопросе:

Вызвано: java.lang.NullPointerException: попытка вызвать виртуальный метод void android.widget.ProgressBar.setVisibility (int) 'для нулевого значенияссылка на объект

1 Ответ

0 голосов
/ 29 мая 2018

Возможно, вы надули неверный макет.

Если "R.layout.home_fragment_one" в приведенном ниже коде неверен, вы получите nullPointerException для "progressBarLoading".

inflater.inflate(R.layout.home_fragment_one, container, false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...