使用安全Args将数据从活动传递到片段

雷伊

由于需要,我最近开始研究更高级的Android开发。从导航组件开始,我了解了使用片段的方法以及使用SafeArgs传递数据的可能性

虽然我能够理解并找到有关如何在不同片段之间传递数据的信息,但我没有找到有关如何将数据从实际活动传递到片段的任何信息。

这是我何时需要的简短说明:

<-登录屏幕->(主要活动)-无片段,简单的登录活动

-用户输入数据

-单击登录

-登录成功

-保存和发送HTTP响应数据以及其他必要信息,并传输到配置文件页面

<-配置文件页面->(配置文件页面活动)具有使用NavHostFragment来显示不同片段的抽屉布局:[配置文件页面],[联系信息],[支付卡]

-个人资料页面片段

-提取Main Acitivity发送的数据并使用它来更改ProfilePage Fragment TextViews的值

这是我面临的问题-我不知道如何将数据从实际的Activity传递到Fragment,尤其是当我知道有所谓的SafeArgs时,我只是不清楚地不知道。

有人可以帮助我更好地理解这一点,或者至少为我指明正确的方向吗?

尼丁·泰姬(Nitin Tej)

是的,因为您已经猜到了,所以您必须使用安全的参数才能使其成为最佳选择。

在导航编辑器中,单击接收参数的目标。在“属性”面板中,单击“添加(+)”。在出现的“添加自变量链接”窗口中,输入自变量名称,自变量类型,自变量是否可为空以及默认值(如果需要)。单击添加。请注意,该参数现在显示在“属性”面板的“参数”列表中。接下来,单击将您带到此目的地的相应操作。在“属性”面板中,现在应该在“参数默认值”部分中看到新添加的参数。

您还可以看到参数是在XML中添加的。单击“文本”选项卡以切换到XML视图,并注意您的参数已添加到接收该参数的目标位置。一个例子如下所示:

 <fragment android:id="@+id/myFragment" >
 <argument
     android:name="myArg"
     app:argType="integer"
     android:defaultValue="0" />

您应该考虑为safe-args添加类路径和plugins。

def nav_version = "2.3.0-beta01"
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"

和插件:

apply plugin: "androidx.navigation.safeargs"

您的safe-args将为您生成类,然后以这种方式传递数据:

override fun onClick(v: View) {
        val name = textview.text.toString()
        val action = ThisFragmentDirections.ThatFragmentAction(name)
        v.findNavController().navigate(action)
    }

这样,您既可以对片段进行活动,也可以对片段之间进行活动。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ListView将数据从片段传递到活动

使用接口将数据从活动传递到片段

如何使用TabLayout将数据从活动传递到片段

将数据从活动传递到片段

将数据片段传递到同一活动中的片段

将数据从活动B传递到活动A片段

通过底部导航栏将数据从活动传递到片段

将数据从列表片段传递到新活动

android-将数据从活动传递到ViewPager中的片段

将数据从活动传递到选项卡片段

如何将多个数据从片段传递到活动

将数据从“活动”传递到“选项卡式布局片段”?

将数据从活动传递到可滑动查看的片段

将数据从活动传递到已显示的片段

将数据从“扩展活动”的类传递到“扩展片段”的类

如何将数据从片段传递到活动?

如何将实时变化的数据从活动传递到片段?

使用架构组件导航将数据从单个活动传递到起始目标片段

如何使用多个按钮将数据从片段传递到片段?

Android,将Extras从活动传递到片段活动再到片段

将值从活动传递到片段

将数据从片段B传递到片段A

将数据从片段传递到片段错误

是否可以使用导航组件将数据从片段传递到活动?如果可以,请告诉我

将数据从一个活动片段传递到另一个活动片段

使用选项卡式活动中的捆绑将值从活动传递到片段

如何使用 OnFragmentInteractionListener 将数据从 Activity 传递到片段

使用ViewPager将数据从Activity传递到片段

Android Event总线将数据从活动传递到选项卡片段