使用 ViewPager 和 Fragment

2023-11-27

我是一名 Android 开发新手。我正在尝试了解 ViewPager。在我尝试使用这个示例之前:

http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizo​​ntal-view-paging/

我的视图可以工作,但无法在其中工作功能,并且我被告知我需要在 ViewPager 中使用 Fragments。

我改为使用本教程:

http://tamsler.blogspot.co.uk/2011/11/android-viewpager-and-fragments-part-ii.html

我已经了解了 ViewPager 和 Fragment 的基础知识:

FragmentPagerActivity.java

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.ViewPager;

public class FragmentPagerActivity extends FragmentActivity {

    private static final int NUMBER_OF_PAGES = 10;

    private ViewPager mViewPager;
    private MyFragmentPagerAdapter mMyFragmentPagerAdapter;

    public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         mViewPager = (ViewPager) findViewById(R.id.viewpager);
         mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
         mViewPager.setAdapter(mMyFragmentPagerAdapter);
    }

    private static class MyFragmentPagerAdapter extends FragmentPagerAdapter {

         public MyFragmentPagerAdapter(FragmentManager fm) {
              super(fm);
         }  

         @Override
         public Fragment getItem(int index) { 

              return PageFragment.newInstance("My Message " + index);
         }  

         @Override 
         public int getCount() {

              return NUMBER_OF_PAGES;
         }
    }
}

页面片段.java:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class PageFragment extends Fragment {

    public static PageFragment newInstance(String title) {

        PageFragment pageFragment = new PageFragment();
        Bundle bundle = new Bundle();
        bundle.putString("title", title);
        pageFragment.setArguments(bundle);
        return pageFragment;
    }

    @Override  
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override  
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment, container, false);
        TextView textView = (TextView) view.findViewById(R.id.textView1);
        textView.setText(getArguments().getString("title"));
        return view;
    }
}

主要.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
<android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>

片段.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

</LinearLayout>

我希望能够用我自己已经存在的 7 个布局替换 ViewPager 中的当前布局,并使用 Fragments 向布局添加功能。我可以如何处理已有的代码以及要进行的更改以使其正常工作?

如果网上有任何带有片段的 ViewPager 示例,而不是像 Adroid 开发人员博客中那样只是简单介绍一下,我将非常感激。


在 MyFragmentPagerAdapter 中声明这一点:

private Fragment[] fragments = new Fragment[] { new Fragment1(),Fragment2(),Fragment3(),Fragment4(),Fragment5()};

然后像这样实现 getItem 方法:

 @Override  
         public Fragment getItem(int index) {  

              return fragments[index];
         } 

对于每个片段都有它自己的类和布局:

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

使用 ViewPager 和 Fragment 的相关文章

  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • 如何在 Android 中使用 Assets 中预加载的 SQLite 数据库

    我想用preloaded database在我的应用程序中意味着尝试在安装 apk 时获取数据库 以便可以使用已保存在其中的数据 我复制了 成分 db 文件位于资产文件夹中 并使用以下代码 但这会出现错误 从资源文件复制数据库时出现问题 我
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • FileNotFoundException:/存储/模拟/0/Android

    我尝试这个文件写入器 读取器代码段进行测试 File file new File Environment getExternalStorageDirectory LM lm lisdat 01 txt FileOutputStream ou
  • 如何从一个代码库创建多个 Android 应用

    我有一个 Android 代码库 它使用带有设置的 API 来获取多个应用程序的不同数据 所有应用程序都使用相同的代码库 但进行一两个设计调整 那么如何重用主代码库而不必每次都复制整个 Android 项目呢 iPhone 在同一个项目中使
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • Youtube 退出全屏模式 TextView 可见性问题

    我正在全屏模式下播放视频 当我单击后退按钮时 我可以退出全屏模式 但无法显示我在全屏情况下隐藏的 TextView 要在全屏模式下隐藏 textView 我使用以下代码 Override public void onInitializati
  • Renderscript 示例构建错误

    所以我想尝试使用 RenderScript 的示例 并在 Eclipse 中导入了 HelloWorld 但它给了我这样的错误 2011 10 25 13 10 48 HelloWorld home mileoresko workspace
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • JavaDoc 在 Android 项目中不起作用

    我在 Ubuntu 10 04 上使用 Eclipse 3 5 2 进行 Android 开发 我安装了 来自 Ubuntu 存储库的 Sun JDK Eclipse 3 5 2 经典 来自 eclipse org 解压到 opt ecli
  • java.lang.IllegalArgumentException:找不到片段的 id 0x1020002 (android:id/content) 的视图

    我正在尝试从一个片段移动到另一个片段 它在片段事务期间显示以下错误 java lang IllegalArgumentException No view found for id 0x1020002 android id content f
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • Nexus 7 (2013) 和 Win 7 64 - 尽管检查了许多论坛和在线资源,仍无法安装 USB 驱动程序

    我正在尝试设置 Nexus 7 2013 进行调试 但我在安装 USB 驱动程序的步骤中陷入困境 到目前为止 这是我尝试过的 采取的步骤 在 Nexus 7 2013 上打开调试模式 连接设备至 PC 下载 Google USB 驱动程序于
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • 在 Honeycomb Android 3.0 中显示 Action Bar 菜单项的图标

    我正在使用 Honeycomb android 3 0 开发 Android 应用程序 我正在尝试在 Action Bar 中显示菜单 菜单有一个图标和标题 当我们单击菜单项时 它会以下拉列表的形式显示其项目 它是下拉列表中带有项目名称但不
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • MATLAB parfor 中的版本或字节顺序错误?

    我正在使用 MATLAB 进行并行计算parfor 代码结构看起来很像 assess fitness save communication overheads bitmaps pop 1 new indi idices porosities
  • python list.pop() 修改原始列表(不仅仅是复制)

    情况 制作原始列表的副本后 我使用 pop 修改所述副本 事实证明 原始列表受到了更改的影响 我什至在检查原始列表和副本不是同一对象后 弹出副本的元素将弹出原始列表中的相同元素 请参阅下面的脚本示例 在此先感谢您的帮助 l 1412898
  • jQuery Mobile 固定页脚在键盘出现时移动

    我使用 Phonegap 和 jQuery Mobile 设计了一个应用程序 固定页脚可以正常工作 直到我单击下拉列表或文本字段 这会导致页脚从视图中消失 Android 4 0 或移动到视图中间 Android 2 2 Galaxy Ta
  • npm 将所有模块安装在 /usr/local/lib/node_modules/ 中

    我在 Ubuntu 12 10 上安装了 node js 0 8 14 我在主目录中创建了一个带有子目录的目录node modules 我想在那里安装一些本地节点模块但正在运行 npm install myModule 在此目录中安装此模块
  • 在 PHP 中如何检查类是否存在?

    所以我在主类中有这种结构函数 function construct this gt conf GLOBALS conf this gt dbi new dbinfo this gt modOpt new modOptions this gt
  • HTTP_HOST 的可靠性如何?

    我编写了一个 PHP 脚本 我想在同一服务器上的多个域上使用该脚本 指向相同的脚本 我想向脚本添加功能 以便我可以随时找出脚本正在使用的域 HTTP HOST 可用于查找域 但是 我读到它不可靠 尤其是对于较旧的浏览器 我的理解是大多数 A
  • 检查应用程序是否在测试环境中运行

    只是想知道我是否可以确定我的应用程序当前是否在测试环境中运行 原因是我正在运行自动屏幕截图 并且只想在运行该 UI 测试时隐藏 修改我的应用程序的部分内容 例如 我想跳过注册推送通知以避免在启动时出现 iOS 弹出窗口 我正在寻找类似的东西
  • java中引用变量的大小是多少[重复]

    这个问题在这里已经有答案了 java中引用变量的大小是多少 我很确定它不会依赖于架构 是吗 它与 C 中的指针概念有相似之处吗 我尝试过 但无法得到任何令人信服的答案 引用使用的内存量取决于几个参数 在 32 位 JVM 上 它将是 32
  • python 中的绝对导入不起作用,相对导入起作用

    我似乎无法在 python 中使用绝对导入 这是我的文件结构 a b init py init py foo py foo py Including or removing the future import has no effect f
  • 地理位置在 Windows 7/XP 上的 Safari 5.x 上不起作用

    我正在开发一个使用 W3C 标准地理定位 API 的应用程序 但我一生都无法让它在我的 Windows 7 和 XP PC 上的 Safari 上运行 它在我的 iPad 和 iPhone 上运行良好 它还可以在 Chrome 5 6 7
  • Swift 对象引用数组?

    我可能错过了有关 swift 的重要信息 我有一个包含键 快速数组对的地图 我更改了数组 但地图内的数组没有更改 有人可以解释一下发生了什么事吗 谢谢 var map String String var list String map li
  • 在 pandas 数据框中查找元素

    我有一个 pandas 数据框 如下所示 0 1 0 2 2 3 1 4 我想要做的是 如果我得到 2 作为输入 我的代码应该在数据框中搜索 2 当找到时 它返回另一列的值 在上面的示例中 我的代码将返回 0 和 3 我知道我可以简单地查看
  • 限制输入为数字和 。在输入字段上

    继我问的另一个问题之后 我似乎真的没有取得任何进展 由于我的无能 我选择了这些人的答案 因为他回答了我的问题 我正在收集我没有问正确的问题 因为我不知道该怎么做 所以问题是我有输入元素 保持简单
  • 企业防火墙/代理后面的 Firestore / gRPC

    我们公司已经使用 Firestore 构建了一个电子应用程序 现在我们正在尝试将该应用程序部署在公司代理和防火墙 客户环境 后面 使用电子设置代理身份验证设置后app on login 应用程序中的所有网络请求均成功 Firestore 连
  • mongoexport 语法错误消息

    我正在使用 mongodb 2 4 3 但无法让 mongoexport 工作 我收到的每个命令的错误消息是 JavaScript execution failed SyntaxError Unexpected identifier 起初我
  • MVC 如何使用列表项 POST 操作方法传递对象列表

    我想从 Razor 视图将项目列表发布到控制器 但我得到的对象列表为 null 我的班级结构是 Model List
  • 如何使用 Twitter Bootstrap ScrollSpy 执行函数

    我想在 ScrollSpy 收到通知后加载更多数据 但我不知道如何捕获该事件并执行函数 UPDATED该触发器现已被推送到主构建中 您可以在完整的文档中看到它 http twitter github com bootstrap javasc
  • Magento 无法使用正确的用户名和密码登录管理员

    我刚安装好Magento 1 7 0 2 在我的本地主机 LAMP 上 现在 安装后 当我想要进入管理面板时 它会要求我输入用户名和密码 虽然我使用了正确的用户名和密码仍然显示Invalid User Name or Password 我清
  • 从 ElementTree 获取属性名称和值

    我有一个 XML
  • 使用 ViewPager 和 Fragment

    我是一名 Android 开发新手 我正在尝试了解 ViewPager 在我尝试使用这个示例之前 http mobile tutsplus com tutorials android android user interface desig