Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android导航抽屉嵌套活动与片段方法_Android_Fragment_Navigation Drawer - Fatal编程技术网

Android导航抽屉嵌套活动与片段方法

Android导航抽屉嵌套活动与片段方法,android,fragment,navigation-drawer,Android,Fragment,Navigation Drawer,首先,我想声明我对android开发和gradle都是新手。而不是java。 我有一个支持2.3.6的项目,现在正在使用支持库将其迁移到4.4。 我也在使用Gradle,到目前为止,它工作得很好 我现在使用导航抽屉在应用程序片段之间导航,这些片段过去是活动。 抽屉中的一个片段包含列表中某个项目的listview和detail视图。 当用户单击列表中的项目并显示其详细信息时,抽屉片段将切换其视图 虽然我很清楚为什么不建议2个片段直接通信,但我仍然需要列表片段来告诉它关于所选项目的详细信息片段对应物

首先,我想声明我对android开发和gradle都是新手。而不是java。 我有一个支持2.3.6的项目,现在正在使用支持库将其迁移到4.4。 我也在使用Gradle,到目前为止,它工作得很好

我现在使用导航抽屉在应用程序片段之间导航,这些片段过去是活动。 抽屉中的一个片段包含列表中某个项目的listview和detail视图。 当用户单击列表中的项目并显示其详细信息时,抽屉片段将切换其视图

虽然我很清楚为什么不建议2个片段直接通信,但我仍然需要列表片段来告诉它关于所选项目的详细信息片段对应物。 指南特别指出,活动应该实现回调,并且在回调方法上,它应该在片段之间传递数据。 然而,在我的例子中,父对象也是一个片段。 我的问题是父片段是否应该维护回调? 这似乎是一个合适的解决方案,因为我的片段仅以这种方式实现以使用导航抽屉交换,从逻辑上讲,它的行为类似于一个活动,但这与指南中所说的片段不应直接通信的说法背道而驰

问题是,在包含片段中实现回调是可行的方法,还是我应该将应用程序的这一部分更改为活动


谢谢,很抱歉出现了文字墙。

您的父片段应该通过NavigationDrawerFragment进行交换,NavigationDrawerFragment的回调应该在活动中实现。如果我理解正确,回调不应该与数据传递有任何关系。如果细节是父片段的子片段,我看不出在创建子片段时无法传递数据的任何原因