社区首页 >问答首页 >如何在屏幕上影响ViewPager中的项

如何在屏幕上影响ViewPager中的项
EN

Stack Overflow用户
提问于 2015-07-05 00:18:12
回答 1查看 436关注 0票数 2

我正在构建一个画廊应用程序。我的MainActivity中有一个内部类,它扩展了PagerAdapter

代码语言:javascript
代码运行次数:0
复制
private class ImagePagerAdapter extends PagerAdapter{

    @Override
    public int getCount() {
        return images.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {

        LinearLayout llImage = (LinearLayout) getLayoutInflater().inflate(R.layout.view_pager_item, null);

        SubsamplingScaleImageView draweeView = (SubsamplingScaleImageView) llImage.getChildAt(0);
        draweeView.setImage(ImageSource.uri(images.get(position)));

        container.addView(llImage, 0);

        return llImage;

    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((LinearLayout) object);
    }
}

项目是动态创建的。我的应用程序允许用户放大这些页面(项目)中的图片,当我滑动到下一页时,ViewPager保存缩放状态。但是,当我返回到上一页时,我希望看到一张默认大小的图片,而不作任何更改。

考虑到这些项目是动态创建的,当它们再次出现在屏幕上时,我如何影响存储的项?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-05 00:34:52

你在这里出了点问题。请考虑以下几点:

如果您在视图寻呼机中有三个页面,当您的应用程序出现在屏幕上时,第一页和第二页将被初始化。当你滑动到第二页时,第三页将初始化,但第一页尚未被销毁。只有当你滑动到第三页时它才会被摧毁。

因此,当你在第2页,你滑动回第一页,什么都不会改变,因为该页没有被破坏。如果您想在回拨时更改某些内容,我建议您实现OnPageChangeListener吗?

代码语言:javascript
代码运行次数:0
复制
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
    public void onPageScrollStateChanged(int state) {}
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

    public void onPageSelected(int position) {
        // reset the zoom
    }
}); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31228422

复制
相关文章
如何在 Windows 11 中禁用锁定屏幕更新
在更新到 Windows 11 之后,在 Windows 10 下对 Windows 注册表文件进行的许多调整仍然存在,但是,许多其他调整已恢复为默认设置。这就是为什么我们必须重新审视在 Windows 11 中禁用锁定屏幕所需的过程。
Khan安全团队
2022/03/17
2.3K0
如何在 elementary OS 中改变锁定和登录屏幕的壁纸
在 elementary OS 中改变锁屏或登录屏背景的灰色默认壁纸是有点困难的。典型的用图像文件的路径改变 greeter 的配置是行不通的。
用户1880875
2021/09/08
1.3K0
【译】OpenStack Pike版中的53项特性(上)
默认的部署方式是单Cell模式。虽然Cell V2还有一些限制,但是现在你可以通过CellV2 API来创建多Cell的部署环境了。Cell V1现在已经废弃。
段立功
2022/06/13
3700
viewpager嵌套viewpager
要求:外层不可以滑动,内层可以滑动 实现:重写外层的viewpager的2个方法即可
全栈程序员站长
2022/09/15
3610
Android中Fragment+ViewPager的配合使用
官方推荐 ViewPager与Fragment一起使用,可以更加方便的管理每个Page的生命周期,这里有标准的适配器实现用于ViewPager和Fragment,涵盖最常见的用例。FragmentPagerAdapter和FragmentStatePagerAdapter这两个类都有简单的代码显示如何构建一个完整的用户界面与他们。 适配器类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
欢醉
2018/01/22
1K0
Android中Fragment+ViewPager的配合使用
ViewPager中Fragment状态保存的哪些事
在使用 ViewPager 时 , 如果我们的适配器使用的是 FragmentStatePagerAdapter ,那么当我们重新滑到之前已销毁的页面时,一般情况下页面的状态依然将保持不变(比如 RecyclerView 的 滚动位置等,EditText 的 输入内容 等), 或者说 View 历史状态被还原了。
Petterp
2022/05/11
1.4K0
ViewPager中Fragment状态保存的哪些事
如何在 Python 中终止 Windows 上运行的进程?
当深入研究Windows操作系统上的Python开发领域时,无疑会出现需要终止正在运行的进程的情况。这种终止背后的动机可能涵盖多种情况,包括无响应、过度资源消耗或仅仅是停止脚本执行的必要性。在这篇综合性的文章中,我们将探讨各种方法来完成使用 Python 终止 Windows 上运行的进程的任务。通过利用“os”模块、“psutil”库和“子流程”模块,我们将为自己配备一个多功能工具包来解决这项势在必行的任务。
很酷的站长
2023/08/11
5790
如何在 Python 中终止 Windows 上运行的进程?
Python: 屏幕取色器(识别屏幕上不同位置的颜色)
文章背景:工作中,有时候需要判断图片中不同位置的颜色。有些颜色不太容易区分,所以想通过Python编写代码,通过屏幕取点,获取某个位置的颜色值。
Exploring
2022/09/20
5.1K0
Python:  屏幕取色器(识别屏幕上不同位置的颜色)
Java中的屏幕共享
远程屏幕共享用于各种应用程序和服务,从网络会议到远程访问应用程序。二线工程师可以使用它来协助一线的同事,或者技术支持专家可以使用它来准确了解到客户的故障现象。
闻说社
2022/11/04
1.9K0
如何在Ubuntu 14.04上使用Bower管理前端JavaScript和CSS依赖项
Bower是前端模块的包管理器,通常由JavaScript和/或CSS组成。它使我们可以轻松搜索,安装,更新或删除这些前端依赖项。
SQL GM
2018/10/16
2.8K0
有关ViewPager使用及解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题
大家好,又见面了,我是你们的朋友全栈君。ViewPager是android-support-v4.jar包中的一个系统控件,继承自ViewGroup,专门用以实现左右滑动切换View的效果,使用时需要首先在Project->properties->Java Build Path->Libraries->Add External Jars中加入sdk目录下的extras/android/support/v4/android-support-v4.jar(如果找不到,则需要用sdk manager下载android support package)。加入这个jar包之后就可以使用ViewPager类了。 ViewPager的使用类似于ListView,需要有对应的Adapter进行数据绑定,实现图片切换仅需要继承PaperAdapter就可以了。继承后需要重写如下四个方法。 instantiateItem(ViewGroup, int) destroyItem(ViewGroup, int, Object) getCount() isViewFromObject(View, Object)
全栈程序员站长
2022/09/15
7770
有关ViewPager使用及解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题
Droid@screen:在PC屏幕上显示Android手机屏幕
这里介绍一款工具——Droid@screen,用来获取手机屏幕,显示在PC屏幕上。它集截图、录像等多种功能于一体。
流柯
2018/08/30
2.2K0
如何在Ubuntu 14.04上的Docker容器中运行Nginx
通过容纳Nginx,我们减少了系统管理员的开销。我们将不再需要通过包管理器管理Nginx或从源代码构建它。Docker容器允许我们在发布新版本的Nginx时简单地替换整个容器。我们只需要维护Nginx配置文件和我们的内容。
朝朝
2018/10/19
2.8K0
ViewPager的使用
ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view
提莫队长
2019/03/01
9040
ViewPager的使用
如何在mac上录屏(并且录制到屏幕内部声音)完美解决方案
一直想找一款在mac录屏的软件,直到今天才有了完美的解决方案,总所周知,mac上有自带的录屏软件(quicktime player),这款软件简单,但是因为其不能录制屏幕内部的声音而不被新手使用。而其他录屏软件大部分需要付款,大部分开源的也不能录制屏幕内部的声音。
全栈程序员站长
2022/07/01
5.8K0
如何在mac上录屏(并且录制到屏幕内部声音)完美解决方案
点击加载更多

相似问题

ViewPager上的空白屏幕

12

屏幕上的安卓ViewPager中心项目

24

在ViewPager中获取视图在屏幕上的位置

12

删除ViewPager中的项

13

使用ViewPager填充屏幕上左边的空间

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文