为什么片段有默认构造函数?

2024-01-10

Fragment中有默认构造函数,我想知道它的用途以及它提供什么功能?我在没有它的情况下运行代码,它工作完美,并且在删除它时我找不到任何错误

public class SongListFragment extends Fragment {

   private static final String SONG_IDS = "song_ids";

   // TODO: Rename and change types of parameters
   private int[] songIds;
   private OnFragmentInteractionListener mListener;

   public SongListFragment() {
      // Required empty public constructor
   }

   // TODO: Rename and change types and number of parameters
   public static SongListFragment newInstance(int[] songIds) {
      SongListFragment fragment = new SongListFragment();
      Bundle args = new Bundle();
      args.putIntArray(SONG_IDS, songIds);
      fragment.setArguments(args);
      return fragment;
   }

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      if (getArguments() != null) {
         songIds = getArguments().getIntArray(SONG_IDS);
      }
   }

   @Override
   public View onCreateView(
      LayoutInflater inflater,
      ViewGroup      container,
      Bundle         savedInstanceState )
   {
      // Inflate the layout for this fragment
      return inflater.inflate(R.layout.fragment_song_list, container, false);
   }

   // TODO: Rename method, update argument and hook method into UI event
   public void onButtonPressed(Uri uri) {
      if (mListener != null) {
         mListener.onSongSelected(10);
      }
   }

   @Override
   public void onAttach(Context context) {
      super.onAttach(context);
      if (context instanceof OnFragmentInteractionListener) {
         mListener = (OnFragmentInteractionListener) context;
      }
      else {
         throw new RuntimeException( context.toString() +
            " must implement OnFragmentInteractionListener");
      }
   }

   @Override
   public void onDetach() {
      super.onDetach();
      mListener = null;
   }


   public interface OnFragmentInteractionListener {

      public void onSongSelected(int songId);
      }
   }

  • 当方向改变时,Android 框架决定重新创建我们的片段。 Android 调用片段的无参构造函数。它不知道我们创建了什么构造函数。
  • fragment.argument=bundle→在newInstance中,我们将bundle传递到其中。因此,当我们创建一个 newInstance 时,android 将提取该包并存储它。因此,当 android 方向更改时,android 将使用无参数构造函数重新创建片段,并且
  • 可以将包附加到片段,因为它之前已经存储了包。稍后我们可以使用 getArgument 再次访问该数据,例如 ( val video_id = argument?.getLong(EXTRA_VIDEO_ID )
  • 所以系统恢复一个Fragment
  • 它会自动恢复我们的包
  • 将片段的状态恢复到相同的状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么片段有默认构造函数? 的相关文章

  • Android 卷页动画

    我对 Android 动画有点陌生 目前我正在开发一个故事活动 需要像 iPhone 中那样使用卷页动画 我发现 iPhone 中有一种方法可以做到这一点 但我仍然找不到在android中做的方法 所以请帮我解决这个问题 谢谢大家 谷歌代码
  • 有没有一种方法可以在不使用意图的情况下在活动之间发送数据?

    我有一个对于每个用户来说都是唯一的用户名 我想将其发送到某个活动 但我不想使用意图 create an intent and sends username Intent intent new Intent RegisterOwner thi
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • 在Java中测试服务器是否启动的正确方法?

    简单地查看是否可以建立与网站 服务器的连接的正确方法是什么 我想要这个用于我正在编码的应用程序 如果我的网站离线 它只会提醒我 Thanks 您可以使用 HttpURLConnection 发送请求并检查响应正文中是否有该页面特有的文本 而
  • putExtra() 和 setData() 之间的区别

    putExtra 和 setData 有什么区别 我已经阅读了 android 文档 但没有太大帮助 还有之前的一个问题Intent setData 与 Intent putExtra https stackoverflow com que
  • 如何在android中批量插入sqlite

    我正在使用 SQLiteOpenHelper 进行数据插入 我需要插入2500个id和2500个名字 所以花费了太多时间 请任何人帮助我如何减少插入时间 我们可以一次插入多条记录吗 任何人都可以帮助我 先感谢您 代码 public clas
  • Android:如何让设备只运行一个应用程序?

    我有一个客户项目 我必须制作单任务 Android 设备 客户无法逃脱我公司开发的应用程序 此外 客户无法启动任何其他应用程序 而我们的应用程序会在设备启动时启动 总体而言 客户能够使用设备执行的所有操作就是运行我们的应用程序 除了 roo
  • 如何在 Jetpack compose 中制作 FlipCard 动画

    我有一个现有的应用程序 我在其中使用 XML 中的 Objectanimator 实现了 FlipCard 动画 如下所示 如果我点击一张卡片 它会水平翻转 但现在我想将其迁移到 jetpack compose 那么jetpack comp
  • 我如何从android中的复选框获取值

    我想获取复选框中所选项目的名称 但我只得到一些字母数字 如何从复选框中获取所选项目的名称 public View getView int position View convertView ViewGroup parent View vie
  • AltBeacon 服务位于单独的 Android 进程中

    我需要帮助 有一个适用于 Xamarin Android 的应用程序 在其中 启动了一个与 AltBeacon 库配合使用的服务 在此服务中 创建了一个线程 在该线程中不断扫描信标 服务以 StartForeground 启动 该服务应该有
  • org.apache.http.conn.HttpHostConnectException:在 android 中连接到 http://localhost 被拒绝

    我正在制作一个应用程序 在执行它时将图像上传到服务器并将其数据库更新到android中的服务器 它显示错误 Connection to http localhost refused 还有更多错误 我研究了这个问题 发现不是提供 URL 连接
  • 该项目可能使用的 Gradle 版本不包含“compileSdkVersion()”方法

    当我尝试运行最初在 Eclipse ADT 上创建的项目时 我遇到了这个问题 Error 17 0 Gradle DSL method not found compileSdkVersion Possible causes ul li Th
  • 合并 dex 程序类型已存在时出错:android.support.v4.os.ResultReceiver$MyResultReceiver

    合并dex时出错 以下是依赖项 ext anko version 0 10 5 support lib 1 0 0 alpha1 room lib 1 1 0 dependencies implementation org jetbrain
  • Android 媒体播放器搜索栏

    我有一个创建 播放和处理媒体播放器 只是音频 的服务 但我在主要活动中有一个搜索栏 我想自然地显示音频文件的进度并允许用户搜索到不同的位置 我花了很长时间才弄清楚 将 UI 中的搜索栏连接到服务中的媒体播放器的最佳或正确方法是什么 我将这样
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • 分离 Fragment 和删除 Fragment 有什么区别?

    在 Android 文档中碎片交易 http developer android com reference android app FragmentTransaction html我注意到两种非常相似的方法 detach and remo
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • 按“重置应用程序首选项”后,我的应用程序的所有权限都被撤销

    我开发了一个应用程序 支持Android 6 0 当我在 设置 gt 应用程序 gt 重置应用程序首选项 中重置应用程序首选项时 我的应用程序的所有权限都将被撤销 并且应用程序不会重新启动 撤销权限后未能重新启动应用程序可能会导致许多意外崩
  • Android Studio 中自动打开“运行设备”选项卡

    在 Android Studio Flamingo 中有一个名为跑步设备并且它会在每次之后自动打开运行应用程序 有办法禁止这个自动打开吗 我尝试禁用启用物理 Android 设备的镜像选项 但选项卡仍然自动打开 基于此issue https
  • Android Volley - 发布请求 - 无法在线工作

    我试图通过 Volley 发出 POST 请求 它在我的本地主机中工作得很好 但是当我将它移动到网络服务器时 响应为空 Java代码 RequestQueue queue Volley newRequestQueue this String

随机推荐

  • 是否可以将 C# 泛型方法类型参数限制为“可从”包含类的类型参数“分配”?

    我怀疑答案是否定的 但我想知道是否可以做这样的事情 public class MyGenericClass
  • 如何获取嵌套滚动视图中所有Recycler View项目视图位置(x,y)

    我必须在回收器视图的左侧绘制一条曲线 连接回收器视图中的所有项目 但是我无法获取回收器视图项目的所有位置来开始绘制自定义视图 我尝试获取 x y 在 onBindViewHolder 中的位置 但它不起作用 我虽然在nestedscroll
  • md-menu 覆盖 Angular 2 中的默认最大宽度

    我正在使用 Angular 2 Angular Material 并且我愿意在 md 菜单中显示更多数据 因此 我需要将 md 菜单的最大宽度设置为更高的值 它的默认值为 280px img src assets images ic not
  • 使用 awk 或 perl 从 CSV 中提取特定列(解析)

    背景 我想从 csv 文件中提取特定列 csv 文件以逗号分隔 使用双引号作为文本限定符 可选 但当字段包含特殊字符时 限定符将在那里 请参阅示例 并使用反斜杠作为转义字符 某些字段也可能为空 示例输入和所需输出 例如 我只希望第 1 3
  • Spark:执行器内存超出物理限制

    我的输入数据集大约是150G 我正在设置 conf spark cores max 100 conf spark executor instances 20 conf spark executor memory 8G conf spark
  • 什么是上下文对象设计模式?

    什么是上下文对象设计模式 上下文是数据的集合 通常存储在Map或者在充当具有访问器和修饰符的结构的自定义类中 它用于维护状态并在系统内共享信息 请参阅此 PDF 以获取详细说明 https www dre vanderbilt edu sc
  • matlab中的“+”打包或模块化编程:类似于python的导入?

    我有 Java 或 Python 等语言的背景 其中通过打包系统和导入指令 也称为命名空间别名 启用模块化编程 从历史上看 MATLAB 解决命名冲突等问题的方法可以归结为设置 使用 MATLABPATH 使用前缀重命名 扩展标识符等 到目
  • 在 iOS 应用程序中拥有初始化屏幕的正确方法

    查看调用某些端点获取初始数据的最佳位置在哪里 在某些应用程序 主要是游戏 中 菜单之前有一个加载屏幕 这是 启动屏幕 还是在 viewDidLaunchWithOptions 期间设置的视图 或者只是一个初始视图 如果我的搜索是正确的 则无
  • Akka 会淘汰 Camel 吗?

    My 理解Akka 的特点是它提供了一个模型 多个独立的线程可以通过该模型以高度并发的方式相互通信 它使用 参与者模型 其中每个线程都是一个 参与者 负责执行特定的工作 您可以编排在什么条件下将哪些消息传递给哪些参与者 我以前使用过 Cam
  • 在 Swing 中加载数据时的 JProgressBar

    我有一个来自 UI 的服务器调用 它的响应时间有点高 所以我想在从服务器加载数据期间显示进度条 我已经尝试使用以下代码approach https stackoverflow com questions 10442406 basic ind
  • blockinfile 不断添加块

    我想使用 blockinfile 将文本块添加到我的 ElasticSearch 配置中 但每次运行我的 playbook 时 该块都会添加到文件中 即使它已经存在 这是一个问题 因为 ElasticSearch 不只是获取最后一个值 它还
  • 当事先不知道字段时使用 DictWriter 写入 CSV

    我正在将一大段文本解析为字典 最终目标是创建一个 CSV 文件 其中键作为列标题 csv DictWriter csvfile fieldnames restval extrasaction raise dialect excel args
  • Android 轮流重启 Activity

    在我的 Android 应用程序中 当我旋转设备 滑出键盘 时 我的Activity已重新启动 onCreate叫做 现在 这可能就是应该的样子 但我在中做了很多初始设置onCreate方法 所以我需要 将所有初始设置放在另一个函数中 这样
  • 将数据库添加到树莓派 kubernetes 集群

    我对 k8s 相当陌生 所以如果我误用了 k8s 术语 请原谅我 我希望有人能给我指出正确的方向并建议最好的方法 我有一个 k8s 集群运行在一组树莓派上 我想添加一个所有工作人员都可以访问的数据库卷 我计划使用 USB 外部驱动器来存储数
  • 通过 javascript 打开 facebook 连接窗口?

    当有人尝试通过 Facebook 登录我的网站时 他会被重定向到一个页面 在该页面中他会看到所有请求的权限 然后单击以允许 禁止它们 有什么方法可以通过 javascript 打开此页面作为分层窗口 而无需用户离开我的网站吗 例如 当 fa
  • 悬停时淡入边框

    我想在悬停时淡入边框 我有以下内容 但一开始什么也没有 然后变成 1px 灰线 灰色是默认颜色 然后最终变成 2px 红线 我到底出了什么问题 a border bottom none transition border bottom 1s
  • Telerik MVC:使用ajax请求加载网格不起作用

    我有一个 Telerik MVC Tabstrip 我用过了 LoadContentFrom Grid Orders 网格 操作仅返回没有模型的视图 然后应该触发 Ajax 请求来获取数据 它正在正常加载网格 但没有调用 Ajax 请求来填
  • 从 Angular 6 迁移到 Angular 7

    我最近将我的 Angular 4 应用程序升级到 Angular 6 现在想升级到 Angular 7 根据下面的文章 运行以下命令应该不会超过 10 分钟即可升级 ng 更新 Angular cli Angular Core https
  • Python list.clear复杂性[重复]

    这个问题在这里已经有答案了 Python 3方法的复杂度是多少list clear 这里没有给出 https wiki python org moin TimeComplexity https wiki python org moin Ti
  • 为什么片段有默认构造函数?

    Fragment中有默认构造函数 我想知道它的用途以及它提供什么功能 我在没有它的情况下运行代码 它工作完美 并且在删除它时我找不到任何错误 public class SongListFragment extends Fragment pr