如何在android中交换具有不同布局的片段?

2023-12-28

我正在开发一个使用片段的 Android 应用程序,它更像是主/详细信息形式。我希望主要活动由左侧的列表片段组成,根据左侧选择的项目,我想在右侧显示具有不同布局的片段。 (注意:右侧的每个片段需要不同的布局/视图)

我遇到的所有示例都仅使用右侧的一个常见片段,方法是更改​​其中的某些值或交换/替换具有相同布局的新片段。

如果有人能够阐明这个问题,那么它将对我有很大帮助。谢谢!


如果您使用框架布局来保存片段,则它与您提到的其他布局相同。您只需实例化您的片段(无论布局如何)并将其交换到框架布局中代替另一个片段。

如果您已将片段硬编码到 XML 中,则您将无法执行此操作(据我所知)。

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frames"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/hline1"
    android:layout_below="@id/horizontalline"
    android:orientation="horizontal" >
    <FrameLayout
        android:id="@+id/leftpane"
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight=".4" />
    <TextView
        android:id="@+id/verticalline"
        android:layout_width="2dp"
        android:layout_height="match_parent"
        android:background="@color/bar_background"
        android:gravity="center_horizontal"
        android:paddingLeft="5dip"
        android:paddingRight="5dip" />
    <FrameLayout
        android:id="@+id/rightpane"
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="1" >
    </FrameLayout>
</LinearLayout>

然后,您使用框架布局的 id 和实例化片段的名称将片段放入框架布局中。

EventListFragment eventlist = new EventListFragment();
getFragmentManager().beginTransaction().replace(R.id.leftpane, eventlist).commit();

EventDetailFragment eventadd = new EventDetailFragment();
getFragmentManager().beginTransaction().replace(R.id.rightpane, eventadd).commit();

当您想要更改内容时,您可以再次执行相同的操作(以下操作将用新的/不同的片段替换右窗格中的片段,该片段可以具有与之关联的自己的不同布局):

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

如何在android中交换具有不同布局的片段? 的相关文章

  • 位图背景图像应支持哪些屏幕尺寸/密度组合?

    我正在编写一个应用程序 我需要一些全屏位图背景 基于我天真的阅读支持多屏 http developer android com guide practices screens support html在 Android 文档中 为了涵盖我的
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • 对话框片段嵌入取决于设备

    在我的应用程序中 用户从联系人或通话记录中选择电话号码 选择联系人非常简单 并且在手机和平 板电脑上都可以很好地工作 i e 在手机上会弹出新的全屏活动 在桌子上我会看到带有联系人列表的漂亮弹出对话框 似乎无法从通话记录中选择电话号码 因此
  • 如何将Android中的cURL发送到REST服务

    我是 android 新手 我想从 REST 服务获取一些数据 但在初始化发送到 REST 服务的方法时遇到一些问题 您知道 REST 服务使用 cURL 来操作一些数据 POST PUT GET DELETE 现在如何在 android
  • 使用Picasso从url保存图像?

    我正在尝试使用 API Picasso 保存图像 为了做到这一点 我正在尝试使用Target保存 但我无法完成这项工作 我怎么能这样做呢 Trying save image public static void imageDownload
  • 地理编码 API 与地理编码器

    在我的应用程序中 我需要使用地理编码 但我不太清楚该使用哪种方法 直到昨天我在URL中添加了参数maps googleapis com maps api geocode json address myparameter sensor fal
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 如何将现有的 SQLite3 数据库导入 Room?

    好吧 我在桌面上使用 SQLite3 创建了一个只需要读取的某些信息的数据库 我正在制作的应用程序不需要在此表中插入或删除信息 我在 Room 数据库层上做了相当多的谷歌搜索 所有文档都需要在构建应用程序时在 Room 中创建一个新的数据库
  • 动态地将textView添加到线性布局中

    我在这里的某个地方读过这篇文章 但我完全迷失了 但我需要一些帮助 我的应用程序正在将列名称从 sqlite 拉入数组中 我想创建一个文本视图并为每个视图编辑文本 通过数组的大小 我记得在某处读过 您可以将 textViews 变量名称视为数
  • 合并 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:如果任务管理器终止,则重新调用应用程序

    如果应用程序线程被任务管理器杀死 则应用程序线程将关闭 需要重新调用应用程序 就像它被其他应用程序或任务管理器杀死一样 任何想法 您必须使用 START STICKY 命令运行后台服务 只需扩展 Service 并重写 onCommand
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • 调整 SwipeRefreshLayout 高度,将 View 置于其底部

    I have SwipeRefreshLayout里面一个RelativeLayout 问题是SwipeRefreshLayout占据了屏幕上的所有位置 我需要放置一个视图after这个观点 看图片 https i stack imgur
  • 将触摸事件从 NestedScrollView 传递到父视图

    我在 NestedScrollView 下方有一个 ViewPager 宽度一些顶部填充 以及 ClipToPadding false 和透明背景 如图像 我的 ViewPager 无法获取触摸事件并且无法工作 我怎么解决这个问题 我无法更
  • Android OptionsMenu问题,背景始终透明

    我的选项菜单总是不显示背景 背景是透明的 有谁知道如何摆脱这个 我的失败起源活动是从另一个自定义活动扩展的 我在 eclipse 上有这个项目 选项菜单工作正常 但自从我迁移到 AndroidStudio 后 选项菜单始终是透明的 我尝试更
  • 推特更新状态

    我正在通过 twitter4j 将 Twitter 集成到 Android 我可以成功阅读我发布的推文 现在我试图用它发布推文 但我不能 我收到如下奇怪的警告 02 01 16 28 43 298 WARN System err 729 4
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • 在循环中按名称访问变量

    我正在开发一个 Android 项目 并且有很多可绘制对象 这些绘图的名称都类似于icon 0 png icon 1 png icon 100 png 我想将这些可绘制对象的所有资源 ID 添加到整数 ArrayList 中 对于那些不了解
  • 如何解决android程序中的警告“从不本地读取”

    为什么我收到警告说 The field testscreen ScaleAnimToShow mVanishAfter is never read locally testscreen java testscreen src com tes
  • 在 Qt 中构建 Android 项目不再有效

    所以我对 Android SDK NDK 和 Apache Ant 进行了一些更新 现在我无法构建任何 Android 项目 我收到一条警告 然后它说找不到 build xml 文件 错误 Warning Android platform

随机推荐

  • Android View Activity 之间的动画转换

    当活动之间发生转换时 如何保持动画活动 假设我有两个活动 A 和 B 活动 B 在活动 A 上有一个 滑入 过渡 我想在活动 B 发生过渡时保持按钮在活动 A 中旋转 当活动 B 开始在活动 A 上滑动时 我的按钮停止旋转动画 我猜这是因为
  • 无法加载文件或程序集 Microsoft.VisualStudio.Web.AzureAD.Contracts

    Was trying to follow the tutorial of MVC in ASP NET site Creating an Entity Framework Data Model for an ASP NET MVC Appl
  • 通过docker中的nginx和gunicorn服务flask

    玩弄 Flask 我想在 docker 中进行真正的设置并运行 这意味着 Flask 应通过 nginx 和 Gunicorn 提供服务 我设置了一个示例代码存储库https github com geoHeil pythonServing
  • 在构造函数外部的方法中使用构造函数中的变量

    如果我有一个像这样的构造函数 public Constructor int a int b int c a int d b 然后 我如何在与构造函数相同的类中的方法中使用变量 c 和 d 因为尝试仅使用方法中的变量名称似乎不起作用 事实上你
  • 使用 TcpClient 通过网络发送和接收数据

    我需要开发一个连接到 TCP 服务器的服务 主要任务是读取传入消息并在十分钟内向服务器发送命令 例如同步命令 例如 我使用了 TcpClient 对象 如下所示 TcpClient tcpClient new TcpClient tcpCl
  • 在AddValidation方法中访问模型数据asp.net core自定义验证

    我正在遵循这个例子 https learn microsoft com en us aspnet core mvc models validation https learn microsoft com en us aspnet core
  • 你知道 JavaScript 中哪些因素会导致内存泄漏吗?

    你知道 JavaScript 中哪些因素会导致内存泄漏吗 我感兴趣的浏览器 IE 7 FireFox 3 Safari 3 有一篇很好的文章是关于JavaScript 和内存泄漏 http www javascriptkit com jav
  • 从 iPhone 上的音频流获取 Hz 频率

    在 iOS 上从音频流 音乐 获取 Hz 频率值的最佳方法是什么 Apple 提供的最好 最简单的框架是什么 提前致谢 下面是我在 iOS 中使用 Accelerate Framework 执行 FFT 的一些代码 这使得速度相当快 kee
  • 为什么禁用的 NSButton(或 NSButtonCell)的文本是灰色的?

    当我将按钮 NSButton 设置为禁用时 其文本颜色变为灰色 我该如何修改这个属性 我希望文字保持黑色 如果不是问题的正文 则回答您的标题 这实际上是一种以这种方式表示禁用的屏幕元素的行业标准 并且可能是用户所期望的 做一些不同的事情可能
  • 从 .NET 调用 Java API - 最佳方法

    我需要从现有的 NET 代码库调用全部用 java 编写的 API 这里最好的方法是什么 用 java 编写一个 web 服务 基本上只是将调用转发到 API 或者使用类似的东西JNI4NET http jni4net sourceforg
  • 使用终端从 Mac OS X 钥匙串中删除私钥

    我已使用 安全 终端应用程序和命令将 iOS 开发的开发人员身份 证书 私钥 导入到钥匙串中 security import identity p12 k
  • 泛型树,自界泛型

    我要为我的一个项目添加通用性 我喜欢泛型 因为这使我的代码更加健壮 自我记录 并消除了所有那些丑陋的强制转换 然而 我遇到了一个棘手的情况 并且在尝试表达我的一个结构的 递归 约束时遇到了一些问题 这基本上是某种 通用 树 具有双重链接 到
  • 使用 javascript 检索文本字段值

    我想使用 javascript 检索文本字段值 假设我有这样的代码
  • 将图像保存在Android图库中

    我正在使用此代码来保存图像 URL url null try url new URL image catch MalformedURLException e1 e1 printStackTrace Bitmap bmp null try b
  • Thin + Nginx + Websockets 配置 |导轨

    我有一个带有 websocket rails gem 的 Ruby on Rails 3 2 应用程序 在 nginx 反向代理后面的瘦网络服务器中运行 除了 nginx 反向代理外 一切正常 通过删除 nginx 反向代理 websock
  • 在使用 Xamarin 完成方法之前 UI 不会更新

    我正在开始我的移动开发冒险 并且已经遇到了一个问题 我知道在 WPF 中我会使用BackgroundWorker更新 UI 但它如何使用 Xamarin 与 Android 配合使用 我找到了很多建议 但没有一个对我有用 下面的代码在执行其
  • 导入底图时出现导入错误

    我在导入底图时遇到问题 即使我刚刚通过安装pip install basemap 我已经尝试过 python2 7 和 python3 python3 gt gt gt from mpl toolkits basemap import Ba
  • 将div放在导航栏下方并且不要与内容重叠

    我的问题是我在网页顶部修复了一个导航栏 它包括两侧边距和顶部边距 在这个导航栏下面 我想设置一个可滚动的容器 假设我正在使用 Bootstrap 3 2 0 来布局网站 问题是 由于导航栏的边距 我想要放在下面的内容与导航栏重叠 并且显示在
  • Jmeter,如何增加堆大小

    我读过您需要更改 jmeter bat 文件中的堆大小 我使用的是 Windows 以增加内存 以便能够测试大约 500 个线程或更多 这是默认值 if not defined HEAP rem See the unix startup f
  • 如何在android中交换具有不同布局的片段?

    我正在开发一个使用片段的 Android 应用程序 它更像是主 详细信息形式 我希望主要活动由左侧的列表片段组成 根据左侧选择的项目 我想在右侧显示具有不同布局的片段 注意 右侧的每个片段需要不同的布局 视图 我遇到的所有示例都仅使用右侧的