Урок 125. ViewPager

Обсуждение уроков
Svetlana
Сообщения: 3
Зарегистрирован: 17 мар 2015, 17:05

Re: Урок 125. ViewPager

Сообщение Svetlana » 18 мар 2015, 11:13

klblk писал(а):
Svetlana писал(а):...
0) оформляйте код на форуме правильно
1) нужен лог ошибки
2) Где находится ваш ListView? Если во фрагменте, то и искать его нужно там, а не в Activity. (в данном случае это догадка и без п.1, вероятно ложная)
0) я прошу прощение, исправлюсь :)
(первый раз в форуме пишу... столкнулась с проблемой,а подсказать не кому)
1) сам еклипс ошибки не показывает, но есть лог с LogCat (файл прилагаю) и в эмуляторе приложение выдает ошибку "Unfortunately, MyProducts has stopped" (это когда пишу строку lvSS.setAdapter(scAdapter);)
2) ListView находится в layout файле, в MainActivity его объявляю, подключаю к нему адаптер (SimpleCursorAdapter). И вот в момент подключения что-то идет не так.
Вложения
log.rar
(723 байт) 294 скачивания

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 125. ViewPager

Сообщение klblk » 18 мар 2015, 12:11

Я не понимаю как в одном Activity одновременно и ViewPager и ListView.
Если нужно чтобы ListView было на одной из страниц ViewPager'а, то и формировать его нужно на страницах (Fragment'ах), которые вы вставляете во ViewPager.

Логи тоже лучше прикреплять в виде текста, используя тег code:

Код: Выделить всё

03-18 03:48:02.498: I/class com.example.myproducts.ExternalDbOpenHelper(1043): Database already exists
03-18 03:48:02.583: D/AndroidRuntime(1043): Shutting down VM
03-18 03:48:02.593: W/dalvikvm(1043): threadid=1: thread exiting with uncaught exception (group=0x41465700)
03-18 03:48:02.633: E/AndroidRuntime(1043): FATAL EXCEPTION: main
03-18 03:48:02.633: E/AndroidRuntime(1043): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myproducts/com.example.myproducts.MainActivity}: java.lang.NullPointerException
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.os.Looper.loop(Looper.java:137)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.main(ActivityThread.java:5103)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at java.lang.reflect.Method.invokeNative(Native Method)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at java.lang.reflect.Method.invoke(Method.java:525)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at dalvik.system.NativeStart.main(Native Method)
03-18 03:48:02.633: E/AndroidRuntime(1043): Caused by: java.lang.NullPointerException
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.example.myproducts.MainActivity.onCreate(MainActivity.java:99)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.Activity.performCreate(Activity.java:5133)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	... 11 more
Качать это неудобно. А ошибка у вас в MainActivity.java строка 99, четко красным по белому написано. как я понимаю это тут:
[syntax=java]lvSS.setAdapter(scAdapter);[/syntax]
а значит вы обманываете, насчет того, что с ListView все хорошо, не находит он его в MainActivity.

Svetlana
Сообщения: 3
Зарегистрирован: 17 мар 2015, 17:05

Re: Урок 125. ViewPager

Сообщение Svetlana » 18 мар 2015, 14:38

klblk писал(а):Я не понимаю как в одном Activity одновременно и ViewPager и ListView.
Если нужно чтобы ListView было на одной из страниц ViewPager'а, то и формировать его нужно на страницах (Fragment'ах), которые вы вставляете во ViewPager.

Логи тоже лучше прикреплять в виде текста, используя тег code:

Код: Выделить всё

03-18 03:48:02.498: I/class com.example.myproducts.ExternalDbOpenHelper(1043): Database already exists
03-18 03:48:02.583: D/AndroidRuntime(1043): Shutting down VM
03-18 03:48:02.593: W/dalvikvm(1043): threadid=1: thread exiting with uncaught exception (group=0x41465700)
03-18 03:48:02.633: E/AndroidRuntime(1043): FATAL EXCEPTION: main
03-18 03:48:02.633: E/AndroidRuntime(1043): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myproducts/com.example.myproducts.MainActivity}: java.lang.NullPointerException
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.os.Looper.loop(Looper.java:137)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.main(ActivityThread.java:5103)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at java.lang.reflect.Method.invokeNative(Native Method)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at java.lang.reflect.Method.invoke(Method.java:525)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at dalvik.system.NativeStart.main(Native Method)
03-18 03:48:02.633: E/AndroidRuntime(1043): Caused by: java.lang.NullPointerException
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at com.example.myproducts.MainActivity.onCreate(MainActivity.java:99)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.Activity.performCreate(Activity.java:5133)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
03-18 03:48:02.633: E/AndroidRuntime(1043): 	... 11 more
Качать это неудобно. А ошибка у вас в MainActivity.java строка 99, четко красным по белому написано. как я понимаю это тут:
[syntax=java]lvSS.setAdapter(scAdapter);[/syntax]
а значит вы обманываете, насчет того, что с ListView все хорошо, не находит он его в MainActivity.
ой... точно... спасибо что подсказали! сейчас все исправлю )

kavlad
Сообщения: 7
Зарегистрирован: 05 апр 2015, 04:41

Re: Урок 125. ViewPager

Сообщение kavlad » 17 апр 2015, 06:02

Здравствуйте. Приложение калькулятор. Есть активити, в котором расположен container, два textview, кнопка. В контейнере по умолчанию расположен первый fragment(цифры и основные операции). По нажатию кнопки в контейнере появляется 2 fragment(другие функции). Но Хочу чтобы, с помощью жеста перелистывались фрагменты. Прочитал про view pager. Но только для смен Activity. Не нашёл для контейнера с фрагментами. Посоветуйте, пожалуйста.

nikomp
Сообщения: 68
Зарегистрирован: 08 дек 2014, 17:03

Re: Урок 125. ViewPager

Сообщение nikomp » 15 май 2015, 11:43

Помогите, пожалуйста не получается выполнить урок!
При запуске приложения на эмуляторе вылетает ошибка

05-15 08:38:39.961: E/AndroidRuntime(377): FATAL EXCEPTION: main
05-15 08:38:39.961: E/AndroidRuntime(377): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.p1251_viewpager/com.example.p1251_viewpager.MainActivity}: java.lang.ClassNotFoundException: com.example.p1251_viewpager.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.p1251_viewpager-2.apk]
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1672)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread.access$1500(ActivityThread.java:122)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.os.Looper.loop(Looper.java:132)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread.main(ActivityThread.java:4025)
05-15 08:38:39.961: E/AndroidRuntime(377): at java.lang.reflect.Method.invokeNative(Native Method)
05-15 08:38:39.961: E/AndroidRuntime(377): at java.lang.reflect.Method.invoke(Method.java:491)
05-15 08:38:39.961: E/AndroidRuntime(377): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
05-15 08:38:39.961: E/AndroidRuntime(377): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
05-15 08:38:39.961: E/AndroidRuntime(377): at dalvik.system.NativeStart.main(Native Method)
05-15 08:38:39.961: E/AndroidRuntime(377): Caused by: java.lang.ClassNotFoundException: com.example.p1251_viewpager.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.p1251_viewpager-2.apk]
05-15 08:38:39.961: E/AndroidRuntime(377): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:251)
05-15 08:38:39.961: E/AndroidRuntime(377): at java.lang.ClassLoader.loadClass(ClassLoader.java:540)
05-15 08:38:39.961: E/AndroidRuntime(377): at java.lang.ClassLoader.loadClass(ClassLoader.java:500)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.Instrumentation.newActivity(Instrumentation.java:1022)
05-15 08:38:39.961: E/AndroidRuntime(377): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1663)
05-15 08:38:39.961: E/AndroidRuntime(377): ... 11 more

вроде все сделал по уроку, в чем может быть проблема?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 125. ViewPager

Сообщение doter.ua » 15 май 2015, 11:58

ClassNotFoundException: com.example.p1251_viewpager.MainActivity
В манифесте прописал?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

nikomp
Сообщения: 68
Зарегистрирован: 08 дек 2014, 17:03

Re: Урок 125. ViewPager

Сообщение nikomp » 15 май 2015, 12:04

doter.ua писал(а):ClassNotFoundException: com.example.p1251_viewpager.MainActivity
В манифесте прописал?
специально ничего не прописывал, он вроде там по-умолчанию есть. манифест вот такой:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.p1251_viewpager"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
может ошибка возникает из-за несоответствия minSdkVersion, пробую разные значения

nikomp
Сообщения: 68
Зарегистрирован: 08 дек 2014, 17:03

Re: Урок 125. ViewPager

Сообщение nikomp » 15 май 2015, 13:14

при создании пустого проекта такая же ошибка

описываю действия:

1) создал проект
2) вставил часть кода

Код: Выделить всё

package com.example.as;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;

public class MainActivity extends FragmentActivity {

  
}
при запуске получаю ту же ошибку. получается беда с FragmentActivity
если создать приложение public class MainActivity extends Activity все норм, в чем ошибка подскажите, что-то я упускаю

nikomp
Сообщения: 68
Зарегистрирован: 08 дек 2014, 17:03

Re: Урок 125. ViewPager

Сообщение nikomp » 15 май 2015, 15:00

всем спасибо за ответы!
поставил Android Studio вместо Eclipse проект заработал без каких либо доработок, делаю вывод глюк был в Eclipse

miha10999
Сообщения: 8
Зарегистрирован: 25 май 2015, 20:01

Re: Урок 125. ViewPager

Сообщение miha10999 » 13 июн 2015, 03:26

Всем привет. Можно ли как то сделать вызов Activity из последнего фрагмента. Делаю приложение по прохождению теста, нужно в конце перейти в Activity,где выведутся результаты.
спасибо всем кто уделил моему вопросу свое время.

finberg
Сообщения: 51
Зарегистрирован: 11 мар 2013, 14:20

Re: Урок 125. ViewPager

Сообщение finberg » 13 июн 2015, 09:49

Можно. Также как и обычно, через startActivity. Вопросик, может активити с результатами тоже сделать фрагментом?

xfn
Сообщения: 10
Зарегистрирован: 23 июл 2015, 14:54

Re: Урок 125. ViewPager

Сообщение xfn » 14 авг 2015, 17:06

Здравствуйте! Обучение продолжается. Какие идеи для реализации следующего - пролистывать страницы, но при этом чтобы предыдущая не уходила влево, а закрывалась последующей (новой), как это происходит с настоящей (бумажной) книгой?


xfn
Сообщения: 10
Зарегистрирован: 23 июл 2015, 14:54

Re: Урок 125. ViewPager

Сообщение xfn » 18 авг 2015, 08:58

Спасибо. Ссылка на гугл-плэй, как ставить примеры в студию или это как-то по другому делается?
Нашел подобное в в гугловском калькуляторе, скачал исходники, но там используется aarity jar-файл, ставил его в каталог с проектом, все равно ругается, пытался в build.gradle в разделе dependencies прописать - безрезультатно (хотя там библиотеки прописываются). Что-то делаю не так.

gagarinn
Сообщения: 12
Зарегистрирован: 09 янв 2012, 13:55
Откуда: Харьков

Re: Урок 125. ViewPager

Сообщение gagarinn » 03 сен 2015, 12:04

SevenXP писал(а):Пипец какой то

Вот если кому нужно

Код: Выделить всё

 @Override
	    public void onViewCreated(View view, Bundle savedInstanceState) {
	        super.onViewCreated(view, savedInstanceState);

	        viewPager = (ViewPager) view.findViewById(R.id.pager);
			adapter= new Adapter(getChildFragmentManager()); <-Именно эта строчка убрала баг и менно нужно передать в адаптер SupportManagerFragment (getChildFragmentManager())
			viewPager.setAdapter(adapter);
	    }
В проекте переделал и все работает. Теперь правда по классам не красиво и га... код, но главное работает
И прикол в том, что должен пойти именно getChildFragmentManager() а что бы его передать нужно унаследоваться от android.support.v4.app.Fragment; и проблема со вторым запуском и темным экраном пропала.

+ Не используте при динамических созданиях фгаментов FragmentPagerAdapter хранит все вьюхи и не удаляет. Используйте FragmentStatePagerAdapter.
Два дня искал в чем проблема. Спасибо!!!

У меня используется FragmentTabHost - 3 Разных фрагмента, на одном из них ViewPager. При переключении закадок ViewPager пропадал.

nikola240698
Сообщения: 5
Зарегистрирован: 18 янв 2016, 21:29

Re: Урок 125. ViewPager

Сообщение nikola240698 » 27 янв 2016, 13:32

У меня тако

nikola240698
Сообщения: 5
Зарегистрирован: 18 янв 2016, 21:29

Re: Урок 125. ViewPager

Сообщение nikola240698 » 27 янв 2016, 13:35

У меня такой вопрос: создал приложение-тест, в котором 25 вопросов, т.е. я создал ViewPager с 25 фрагментами. В каждом из них есть TextView и RadioGroup с 5 RadioButton. Так вот я хочу теперь их заполнить, но не знаю как. И еще как потом описать метод для проверки правильного ответа?

Человек Добрый
Сообщения: 1
Зарегистрирован: 15 июл 2020, 03:43

Re: Урок 125. ViewPager

Сообщение Человек Добрый » 04 авг 2020, 20:28

setCurrentItem() на ViewPager нужно убрать бликование при переходе с начальной на конечную страницы. И с конечной на начальную.
Что-то я не могу найти. По идеи должен быть реализован метод убрать бликование.
Мерцает. Это предусмотрено отключить где-то?

Rolik
Сообщения: 14
Зарегистрирован: 05 апр 2021, 06:42

Re: Урок 125. ViewPager

Сообщение Rolik » 16 окт 2021, 10:39

FragmentPagerAdapter и FragmentStatePagerAdapter are deprecated в API 27.
Теперь используем FragmentStateManager с ViewPager2.

thearticlerevie
Сообщения: 1
Зарегистрирован: 19 ноя 2021, 08:18

Re: Урок 125. ViewPager

Сообщение thearticlerevie » 19 ноя 2021, 08:20

Range boosters are very good for every type of domain you have, and it only consists of improving your interaction algorithm. You must increase the popularity of your website using legendary SEO techniques that solve your life in weeks. You can know and use a good number of techniques at no cost or hire the most profitable one.
Find Out How Quickly You Can Rank High In Your Business
what is a sponsored ad

Ответить