在 NavigationUI 的同一主机活动上传递数据并更新片段文本/按钮

     2023-04-18     53

关键词:

【中文标题】在 NavigationUI 的同一主机活动上传递数据并更新片段文本/按钮【英文标题】:Pass data and update fragments text/buttons on same host activity of NavigationUI 【发布时间】:2021-05-21 04:01:42 【问题描述】:

在托管导航抽屉的活动中,我在菜单上有“登录”组件,用于管理谷歌身份验证。我想在另一个“主页”片段上传播用户的信息并使用这些信息更新其视图。

问题: 如何在NavigationUI 中同一主机活动的两个片段之间传递数据,以及如何一次性更新“Home”片段的 TextView(因为视图会刷新它的一直都是默认值)。

我尝试使用 intents,向主要活动指定要接收的附加内容,以便我可以将它们传播到片段,但它似乎不起作用(得到“找不到活动”错误)。 我错过了什么?

【问题讨论】:

【参考方案1】:

实际上,您已经提出了多个问题,试图回答所有问题。

    如何在同一宿主活动的两个片段之间传递数据

如果您使用 ViewModel,请使用 LiveData 在两个片段之间进行通信。 - 建议的方法

如果您不使用 ViewModel,请使用接口回调方法。

这里提到了以上两个的例子。

https://developer.android.com/guide/fragments/communicate

    如何使用 NavigationUI 在同一主机活动的两个片段之间传递数据

在 nav_graph.xml 中,您可以找到参数部分,您可以在其中提及要传递的参数。

在给定的链接中提供了一个示例 https://developer.android.com/guide/navigation/navigation-pass-data

如果您需要更多答案,请添加评论

【讨论】:

谢谢你,这对我帮助很大。经过一些尝试,我能够实现片段之间的消息传递(使用 arguments 部分)以及主机活动(使用 ViewModel)。现在的问题是,每次我单击一个片段时,它的视图都会刷新并且所有更新都会丢失。是关于片段生命周期方法的吗?我应该使用 savedIstanceState 吗? @tbekajon 我们在这里谈论登录,为什么不将数据保存在共享首选项中并在片段中使用该数据?每次单击片段时,可能会创建一个没有旧信息的新实例

SQL Server 和 MS Access 数据库在同一台主机上处于活动状态

】SQLServer和MSAccess数据库在同一台主机上处于活动状态【英文标题】:SQLServerandMSAccessdatabaseactiveonthesamehostcomputer【发布时间】:2015-10-3022:16:15【问题描述】:是否可以在同一台计算机上同时激活并可供用户使用?我问是因为我必... 查看详情

带有操作栏图标单击的 NavigationUI 导致片段淡入淡出

】带有操作栏图标单击的NavigationUI导致片段淡入淡出【英文标题】:NavigationUIwithactionbariconclicksresultinfragmentsfadinginandout【发布时间】:2020-04-1916:34:12【问题描述】:我有一个带有图标的操作栏,当点击这些图标时,会在屏幕上显... 查看详情

对于不同的虚拟主机,如何在同一 Linux 服务器上放置不同的主机条目? [关闭]

】对于不同的虚拟主机,如何在同一Linux服务器上放置不同的主机条目?[关闭]【英文标题】:Howtoputdifferenthostentriesonsamelinuxserver,fordifferentvirtualhosts?[closed]【发布时间】:2012-03-1013:31:51【问题描述】:设置是:使用apache配置中的v... 查看详情

如何在 Android 的子活动中找到标签主机?

】如何在Android的子活动中找到标签主机?【英文标题】:HowtofindtabhostinitssubactivityinAndroid?【发布时间】:2012-06-0908:28:29【问题描述】:我正在创建一个自定义标签主机,在每个标签规范上打开不同的活动。我想在子活动上获取... 查看详情

Apache 2.4 在同一端口上的多个虚拟主机

】Apache2.4在同一端口上的多个虚拟主机【英文标题】:SeveralvirtualhostsonthesameportwithApache2.4【发布时间】:2016-05-0207:32:48【问题描述】:我正在尝试用Apache2.4中的虚拟主机做一些简单的事情(使用Wampserver2.5)我希望能够拥有多个... 查看详情

在同一主机上的不同网络中的 Docker 容器之间进行通信

】在同一主机上的不同网络中的Docker容器之间进行通信【英文标题】:CommunicatingbetweenDockercontainersindifferentnetworksonthesamehost【发布时间】:2016-07-0207:52:22【问题描述】:是否有可能使同一主机内不同网络中的容器进行通信?请注... 查看详情

如何在远程主机上的詹金斯中传递 $BUILD_NUMBER

】如何在远程主机上的詹金斯中传递$BUILD_NUMBER【英文标题】:Howtopass$BUILD_NUMBERinjenkinsonremotehost【发布时间】:2011-12-0120:34:01【问题描述】:我正在尝试在远程主机上执行shell脚本,但我不确定如何传递Jenkins环境变量,例如:BUIL... 查看详情

如何在同一(但正在更改)IP 地址上处理 2 个不同主机的 ssh 主机密钥验证? [关闭]

】如何在同一(但正在更改)IP地址上处理2个不同主机的ssh主机密钥验证?[关闭]【英文标题】:Howtohandlesshhostkeyverificationwith2differenthostsonthesame(butchanging)IPaddress?[closed]【发布时间】:2010-10-1812:55:48【问题描述】:我在nat防火墙... 查看详情

服务器客户端应用程序在具有两个不同 nic 的 ip 的同一主机上运行。

】服务器客户端应用程序在具有两个不同nic的ip的同一主机上运行。【英文标题】:Serverclientapplicationrunningonsamehostmachinewithtwodifferentnic\'sip.【发布时间】:2013-10-2607:36:08【问题描述】:我正在开发一个服务器客户端应用程序。服... 查看详情

使用 boost::asio 在同一主机上多播消息

】使用boost::asio在同一主机上多播消息【英文标题】:Multicastmessageonsamehostusingboost::asio【发布时间】:2011-11-2611:17:31【问题描述】:我正在实现发送方/接收方应用程序以在同一主机上进行多播通信。在我的构造函数中,我有以下... 查看详情

在 Windows 7 主机上使用活动 *** 连接启动时,vagrant 配置的 virtualbox 无法访问互联网

】在Windows7主机上使用活动***连接启动时,vagrant配置的virtualbox无法访问互联网【英文标题】:vagrantprovisionedvirtualboxcannotaccesstheinternetwhenbootedupwithanactive***connectiononthewindows7host【发布时间】:2015-04-0403:02:48【问题描述】:我在设... 查看详情

如何防止在铬浏览器中自动填充同一主机上的表单?

】如何防止在铬浏览器中自动填充同一主机上的表单?【英文标题】:Howtopreventautofillofformsonsamehostinchromiumbrowser?【发布时间】:2017-07-1113:04:08【问题描述】:我在localhost上有多个应用程序,现在我正在编写新应用程序,并且chrom... 查看详情

同一虚拟主机上的两个 django 应用程序的间歇性问题

】同一虚拟主机上的两个django应用程序的间歇性问题【英文标题】:intermittentproblemwithtwodjangoappsonthesamevirtualhost【发布时间】:2011-11-2023:50:02【问题描述】:我有两个Django应用程序(appsystem和testapp)在不同的文件夹中运行,它们... 查看详情

如何在同一方向上滑动两个以上的视图?滑动到其他视图时是不是可以传递相同数量的数据?

】如何在同一方向上滑动两个以上的视图?滑动到其他视图时是不是可以传递相同数量的数据?【英文标题】:howcanIswipemorethantwoviewsinthesamedirection?Isitpossibletopassthesameamountofdatawhileswipingtootherviews?如何在同一方向上滑动两个以上... 查看详情

一个 java 进程能否获取在同一主机上运行的其他 java 进程的 id? [关闭]

】一个java进程能否获取在同一主机上运行的其他java进程的id?[关闭]【英文标题】:Canonejavaprocessfetchidsofotherjavaprocessesrunningonthesamehost?[closed]【发布时间】:2012-09-0612:30:33【问题描述】:有没有办法找到当前正在运行的jvm并获取... 查看详情

从同一主机上的子域访问时未找到 WCF 错误

】从同一主机上的子域访问时未找到WCF错误【英文标题】:WCFnotfounderrorwhenaccessingfromsubdomainonsamehost【发布时间】:2012-10-1623:02:13【问题描述】:当我从本地机器访问服务时,一切正常。但是,当我在子域站点上托管silverlight应用... 查看详情

使用 Apache 将端点转发到同一主机上的不同端口

】使用Apache将端点转发到同一主机上的不同端口【英文标题】:UsingApachetoforwardendpointstodifferentportsonthesamehost【发布时间】:2016-01-1008:34:36【问题描述】:我正在尝试配置Apache以区别对待应用程序的某些端点。我需要/api、/appname... 查看详情

在 startActivity() 上传递一个 Bundle?

...】:2010-10-2014:49:10【问题描述】:将捆绑包传递给从当前活动启动的活动的正确方法是什么?共享属性?【问题讨论】:【参考方案1】:你有几个选择:1)使用来自Intent的Bundle:IntentmIntent=newIntent(this,Example.class);Bun 查看详情