Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 12

PagerAdapter ViewPager. null в setAdaper

19.11.2019, 11:01. Показов 2516. Ответов 4

Студворк — интернет-сервис помощи студентам
При запуске программа сразу крашится. В логах написано, что я передаю в ViewPager.setAdapter null, но я туда передаю значения. Не понимаю в чем проблема.
Логи:
Process: com.example.escapefromtarkovsoundboard, PID: 32142
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.escapefromtark ovsoundboard/com.example.escapefromtarkovsoundboard.S econdMainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.viewpager.widget.ViewPager.setA dapter(androidx.viewpager.widget.PagerAd apter)' on a null object reference
MainActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
 
import android.os.Bundle;
 
public class SecondMainActivity extends AppCompatActivity {
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_menu);
        getSupportActionBar().hide();
        int[] pictureIds = new int[]{R.drawable.usectext,R.drawable.beartext,R.drawable.scavtext};
 
        ViewPager viewPager = findViewById(R.id.viewpager);
        PagerAdapter adapter = new ViewPagerAdapter(this, pictureIds);
        viewPager.setAdapter(adapter);
        viewPager.setCurrentItem(1);
    }
}
PagerAdapter:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
 
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
 
import com.example.escapefromtarkovsoundboard.R;
 
class ViewPagerAdapter extends PagerAdapter {
    private Context mContext;
 
    private int[] mPictureIDs;
    public ViewPagerAdapter(Context context, int[] resids) {
        this.mContext = context;
        this.mPictureIDs = resids;
    }
 
 
    @Override
    public int getCount() {
        return mPictureIDs.length;
    }
 
    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }
 
    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView avatarImageView;
 
        LayoutInflater inflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View itemView = inflater.inflate(R.layout.activity_pager, container,
                false);
 
        avatarImageView = itemView.findViewById(R.id.imageViewAvatar);
        avatarImageView.setImageResource(mPictureIDs[position]);
 
        container.addView(itemView);
 
        return itemView;
    }
 
    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((LinearLayout) object);
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2019, 11:01
Ответы с готовыми решениями:

PagerAdapter, как сделать, чтобы у каждого итема было свое название и свой вид?
В этом новичек. Подскажите. class SamplePagerAdapter extends PagerAdapter { @Override public int getCount() { ...

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

Не работает код: m_web1.Navigate ('gidro.htm',0,0,NULL,NULL);
Друзья помогите начинаюшему значит делаю m_web1.Navigate ('с:\gidro.htm',0,0,NULL,NULL);работает делаю m_web1.Navigate...

4
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
19.11.2019, 11:26
В логах написано, что viewPager == null, а не адаптер.
1
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 12
19.11.2019, 11:54  [ТС]
Перед скобками же написано .setAdapter

Добавлено через 18 минут
Что мне сделать тогда, чтоб исправить это?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
19.11.2019, 11:58
Attempt to invoke virtual method setAdapter() on a null object reference
Перевод: Попытка вызвать виртуальный метод setAdapter() для ссылки на нулевой объект.

Добавлено через 1 минуту
Цитата Сообщение от Rokudenashi Посмотреть сообщение
Что мне сделать тогда, чтоб исправить это?
Для начала убедиться, что R.id.viewpager находится в R.layout.activity_main_menu.
0
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 12
19.11.2019, 13:32  [ТС]
Вот код этой активити
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/eftlogo"
    android:gravity="center_horizontal"
    android:orientation="vertical">
 
    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="267dp"
        android:layout_height="65dp" />
 
    <ImageView
        android:id="@+id/reaction"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        app:srcCompat="@drawable/reaction" />
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
 
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
 
            <ImageView
                android:id="@+id/health"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:clickable="true"
                app:srcCompat="@drawable/health" />
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
 
            <ImageView
                android:id="@+id/enemy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="140dp"
                android:clickable="true"
                app:srcCompat="@drawable/enemy" />
        </LinearLayout>
 
    </LinearLayout>
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
 
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
 
            <ImageView
                android:id="@+id/team"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="75dp"
                android:clickable="true"
                app:srcCompat="@drawable/team" />
        </LinearLayout>
 
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
 
            <ImageView
                android:id="@+id/help"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="30dp"
                android:clickable="true"
                app:srcCompat="@drawable/help" />
        </LinearLayout>
    </LinearLayout>
 
 
</LinearLayout>
Добавлено через 44 минуты
ViewPager точно там находится

Добавлено через 32 минуты
Может для вас будет лучше, если я скину файл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2019, 13:32
Помогаю со студенческими работами здесь

UPDATE SELECT, ERROR: null value in column violates not-null constraint
Здравствуйте. Две таблицы, из одной значением integer модифицируется int другой таблицы. В таблице-приёмнике ограничение NOT NULL. ...

XML. Как мне добится того, чтоб в списке было 1, NULL, NULL, 4?
Есть следующий кусочек XML файла: &lt;root&gt; &lt;row&gt; &lt;cell&gt;&lt;data&gt;1&lt;/data&gt;&lt;/cell&gt; &lt;cell&gt;&lt;data&gt;2&lt;/data&gt;&lt;/cell&gt; ...

Сервер отправляет объект не null, а клиент принимает null
Помогите пожалуйста! У меня в клиент-серверном приложении творится что-то странное! Короче с сервера на клиент посылается задача, но на...

Почему в столбцах NOT NULL по умолчанию NULL ?
Добрых суток! Не могу понять такую вещь. Создаю столбцы и не пишу NOT NULL. В таком случае по умолчанию значения NULL. Но, даже,...

Как NULL поменять на NOT NULL?
Добрый день! Как можно столбец с заданным NULL поменять на NOT NULL или наоборот? Пример ниже не работает alter table tv change...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru