在我们的应用程序中,我们有一些片段可以显示为全屏片段或对话框片段.这些片段继承DialogFragment而且我们确保根据应用程序执行的模式(全屏或对话框)正确实例化它们.
Toolbar在使用Lollipop在支持库中引入窗口小部件的最新更改之后,我们考虑为其中一些对话框片段添加一些额外的功能.我们的想法是让我们通常在普通片段中使用的选项菜单类型(即onCreateOptionsMenu执行后膨胀的选项菜单)DialogFragment仅在我们的子类中出现时才会显示为对话框.简而言之:当片段以全屏模式显示时,我们会扩展传统的选项菜单,当片段显示为对话框时,我们希望在独立模式下使用相同的选项菜单,但使用新的工具栏小部件.
我按照http://android-developers.blogspot.dk/2014/10/appcompat-v21-material-design-for-pre.html中的步骤操作,然后设法"激活"工具栏,但似乎菜单是没有膨胀 - 参见附件截图(在全屏模式下图片一个片段,在对话框模式下图片二).
是否可以使用新工具栏中的选项菜单进行充气DialogFragment?


android android-fragments android-dialogfragment android-toolbar
我有一个返回的API FamilyDetails.我使用改造来获取它们,并建模如下:
Observable<FamilyDetails> getFamilyDetails(@Query int personId);
Run Code Online (Sandbox Code Playgroud)
获取后,这些详细信息将用于更新a Person.我的API FamilyDetails会在有一些信息显示时立即提供,这意味着细节可能不完整,因此complete = false当服务器尚未完成获取所有家庭详细信息时,响应中会有一个标记 - 反过来,我的应用程序应该FamilyDetails如果我们complete = false在第一个响应中收到,则发送另一个请求以获取剩余请求,并且只要细节仍然不完整,就继续这样做.
我"有点"实现了我想要的,但不完全是这个代码:
personApiService.getFamilyDetails(personId)
// repeat call
.flatMap(familyDetails -> personApiService.getFamilyDetails(personId))
// until family details are complete
.takeUntil(familyDetails -> familyDetails.isComplete())
// update the person object with the family details
.flatMap(familyDetails -> Observable.just(updatePerson(familyDetails))
//subscribe!
.subscribe(personSubscriber);
Run Code Online (Sandbox Code Playgroud)
我的personSubscriber返回更新了Person.
我有这个实现的问题是,部分更新不通过personSubscriber的onNext(),因为我只得到一个呼叫onNext()与更新Person其完整的对象FamilyDetails.
我想使用RxJava对此进行建模,具有以下要求:
Person
这些详细信息所属的对象,并通过它提供onNext().Person通过的物体 …