使用 viewpager 滑动图像(不是布局)

2023-11-29

我的代码的作用:

这是我的代码,用于在 xml 布局(名为 left.xml、right.xml 和 center.xml)之间滑动的 viewpager。

我想要它做什么

我想在图像之间滑动(存储在可绘制文件夹中)。当我用 R.drawable.image 替换 R.layout.xml 时,我的应用程序崩溃了。有人能帮我弄清楚吗?

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MyPagerAdapter adapter = new MyPagerAdapter();
    ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(0);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

class MyPagerAdapter extends PagerAdapter {

    public int getCount() {
        return 3;
    }

    public Object instantiateItem(View collection, int position) {

        LayoutInflater inflater = (LayoutInflater) collection.getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        int resId = 0;
        switch (position) {
        case 0:
            resId = R.layout.left;
            break;
        case 1:
            resId = R.layout.center;
            break;
        case 2:
            resId = R.layout.right;
            break;
        }

        View view = inflater.inflate(resId, null);

        ((ViewPager) collection).addView(view, 0);

        return view;
    }

    @Override
    public void destroyItem(View arg0, int arg1, Object arg2) {
        ((ViewPager) arg0).removeView((View) arg2);

    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == ((View) arg1);

    }

    @Override
    public Parcelable saveState() {
        return null;
    }
}

}


如果您使用相同的实现并只是添加R.drawable.XXX代替R.layout.YYY那么问题就在那里。您正在使用LayoutInflater充气ImageViews,布局充气器,因为它本身就说明它会在一次中充气整个布局View.

而不是这样做尝试创建ImageView对象通过代码,然后在return返回新创建的ImageView。一些示例代码是:

public Object instantiateItem(View collection, int position) {

    ImageView img = new ImageView(context); //this is a variable that stores the context of the activity
    //set properties for the image like width, height, gravity etc...

    int resId = 0;
    switch (position) {
        case 0:
            resId = R.drawable.img1;
            break;
        case 1:
            resId = R.drawable.img2;
            break;
        case 2:
            resId = R.drawable.img3;
            break;
    }

    img.setImageResource(resId); //setting the source of the image
    return img;
}

如果您只使用特定数量的图像或页面,您应该考虑将它们添加到包含以下内容的 xml 中:ViewPager而不是动态创建ViewPager.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 viewpager 滑动图像(不是布局) 的相关文章

  • 在 Android 上通话结束时启动活动

    我想在通话结束时启动一项活动 找不到任何对此的参考 我该怎么做 我还没有尝试过这个 但我假设你可以运行一些服务 始终在后台运行 它利用电话状态监听器 http developer android com reference android
  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 我的应用程序中的后退按钮出现问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在手机关闭时清除共享首选项值 你

随机推荐

  • iOS Web 应用程序:禁用输入文本字段的自动对焦

    我有一个简单的 iOS Web 应用程序问题 当您创建输入文本字段时 用户单击文本字段 mobile safari 会自动聚焦输入字段 自动将用户单击的输入字段移动到屏幕中央 视觉键盘将画布推到顶部或左侧或任何可以将输入字段居中的空间 好吧
  • ListSelector适用于整个列表

    我有一个带有列表选择器的简单列表 如下所示
  • 尝试安装 Homebrew 时出现库未加载错误 (libidn.11.dylib)

    尝试在 Lion 上安装 Homebrew 当我做 usr bin ruby e curl fsSL https raw github com gist 323731 我收到此错误 dyld Library not loaded opt l
  • 记录 Jenkins 中的更改

    在这里继续我的问题 Jenkins 在外部可执行文件上的构建通过或失败 我的构建过程现在使用 MS Build 从源代码构建 并作为构建过程的一部分执行自定义程序 我在程序中写入控制台的任何内容都将记录在控制台输出中 但是 我还想在用户界面
  • C 将 argv[] 中的字符串分配给 char 数组

    我有以下代码 它从命令行读取文件名并打开该文件 include
  • setcookie,无法修改标头信息 - 标头已发送[重复]

    这个问题在这里已经有答案了 我是PHP新手 刚刚练习PHP setcookie 失败了 http localhost 测试 索引 php
  • 如何将 DNS 条目添加到 Windows 容器的主机文件中?

    我的主机的 IIS 中有一个网站 可以通过以下方式访问http mysite local地址 我还有一个在此主机上运行的 Windows 容器 我正在尝试使用 curl http mysite local 从我的 Windows 容器连接到
  • 使用 NDEF Android 应用程序记录 (AAR) 获取 NFC 标签

    我正在开发 NFC 应用程序 为了启动我的应用程序 我使用了 NDEF 标签 其中包含 AAR NDEF 记录 这很好用 但现在我想直接用应用程序读取标签内容 我怎样才能做到这一点 当我从手机上取下标签并再次触摸它时 它已经可以工作了 但我
  • 映射超类的命名查询

    我试图在映射的超类上声明 NamedQuery 但收到此错误 org hibernate hql ast QuerySyntaxException VoipCall 未映射 select v from VoipCall v where v
  • TinkerPop:添加顶点图 API 与遍历 API

    背景 在其中之一SO posts推荐使用 Traversal API 而非 Graph API 来进行变异 所以我尝试了一些测试 发现 Graph API 似乎更快 我完全相信这个建议 但我试图了解它如何更好 我确实尝试过谷歌搜索 但没有找
  • cout 是同步/线程安全的吗?

    一般来说 我假设流不同步 由用户来执行适当的锁定 但是 做类似的事情cout在标准库中得到特殊待遇 也就是说 如果多个线程正在写入cout他们会腐败吗cout目的 我知道即使同步 您仍然会得到随机交错的输出 但交错是否有保证 也就是说 使用
  • 在 Python 中从 CSV 文件访问列数据

    我有一个包含 A B C D 列和 N 行的 CSV 文件 问题是这些列中的数据长度不同 即有些是 4 5 有些是 4 52 我的问题分为两部分 我如何从 csv 文件访问这些列 我使用此代码来打印 csv 文件的内容并将它们读入数组 im
  • React 中的 Markdown 与 Typescript

    有没有办法使用 Typescript 解析 React 中的 Markdown 我正在尝试做这样的事情 import as ReactMarkdown from react markdown OR import ReactMarkdown
  • 数据和同步 - 手动同步邮件。日历和联系人

    我正在尝试编写一个应用程序 只需单击一下即可同步我的邮件和日历 在浏览这个论坛后 我发现了一些很好的提示 并编写了一个简短的测试应用程序 该应用程序使用我的第一个谷歌帐户并开始同步 到目前为止 代码正在运行 但目前仅同步了联系人 Accou
  • 从Python列表继承后重写append方法

    我想创建一个只能接受某些类型的列表 因此 我尝试从Python中的列表继承 并重写append 方法 如下所示 class TypedList list def init self type self type type def appen
  • 如何在 JavaScript 中查找文本框中的单词

    我正在制作一个类似于 Google Now 应用程序的网站 我想知道如何让 JavaScript 在文本框中查找某个单词 例如 如果有人在文本框中输入 显示天气 JavaScript 世界会看到关键字 天气 它会向我显示天气 这是我的代码
  • 错误:SQLite 从文件导入数据

    我正在尝试从以逗号分隔的文件加载数据 例子 A positive 9619 A095CDB461A1FEED positive 1 当我尝试在 sqlite3 数据库中加载此文件时 出现错误 sqlite gt mode csv featu
  • Google 地图屏幕截图不适用于使用 html2canvas 的标记和标记集群

    我正在使用 Flask 做 python 项目 其中我使用 google 地图 api 来显示项目中的地图 我实施html2canvas脚本成功捕获地图 但我在地图上也有标记 但它没有捕获 所以我尝试使用html2canvasPython代
  • 向下滚动时替换 div 中的图像

    想要在向下滚动和向上滚动时用图像 resized png 替换 logo 中的图像应恢复正常 尝试使用代码
  • 使用 viewpager 滑动图像(不是布局)

    我的代码的作用 这是我的代码 用于在 xml 布局 名为 left xml right xml 和 center xml 之间滑动的 viewpager 我想要它做什么 我想在图像之间滑动 存储在可绘制文件夹中 当我用 R drawable