Урок 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 байт) 115 скачиваний

Аватара пользователя
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 нужно убрать бликование при переходе с начальной на конечную страницы. И с конечной на начальную.
Что-то я не могу найти. По идеи должен быть реализован метод убрать бликование.
Мерцает. Это предусмотрено отключить где-то?

waat
Сообщения: 50998
Зарегистрирован: 31 окт 2020, 05:30

Re: Урок 125. ViewPager

Сообщение waat » 07 ноя 2020, 13:23


waat
Сообщения: 50998
Зарегистрирован: 31 окт 2020, 05:30

Re: Урок 125. ViewPager

Сообщение waat » 09 дек 2020, 23:12

инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоtuchkasинфоинфо

Ответить