首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用DialogFragment作为Android NavController中的一个片段

使用DialogFragment作为Android NavController中的一个片段
EN

Stack Overflow用户
提问于 2018-08-09 06:08:22
回答 1查看 4.2K关注 0票数 2

我有一个用XML定义的图,并且我在我的NavGraph中添加了一个DialogFragment作为片段之一。当我在该导航控制器上使用resId和bundle调用NavController.navigate时,我看不到显示任何对话框。有没有什么方法可以用DialogFragment代替标准片段?

代码语言:javascript
运行
复制
<fragment
        android:id="@+id/noLoginDialog"
        android:name="com.ram.view.NoLoginDialog"
        android:label="NoLoginDialog">
        <argument
            android:name="argTitle"
            android:defaultValue="null"
            app:type="string"/>
        <argument
            android:name="argBody"
            android:defaultValue="null"
            app:type="string"/>
        <argument
            android:name="argButton"
            android:defaultValue="null"
            app:type="string"/>
    </fragment> 

我的action定义如下

代码语言:javascript
运行
复制
 <container_fragment
        android:id="@+id/homeFragment"
        android:name="com.ram.home.HomeFragment"
        android:label="HomeFragment">

        <action
            android:id="@+id/action_homeFragment_to_noAuthAlertDialog"
            app:destination="@id/noLoginDialog"/>
    </container_fragment>

我对activity和fragments的其他操作都运行得很好。

EN

回答 1

Stack Overflow用户

发布于 2020-09-09 00:40:30

是的,您可以从导航中调用DialogFragment,您只需显式地告诉导航您将使用对话框

代码语言:javascript
运行
复制
<dialog
    android:id="@+id/simCancelFinish"
    android:name="mk.telekom.kiosk.ui.dialogs.SimCancelFinish"
    android:label="SimCancelFinish" >
    <action
        android:id="@+id/action_simCancelFinish_to_stornoSimFragment"
        app:destination="@id/stornoSimFragment"
        app:popUpTo="@id/stornoSimFragment"
        app:popUpToInclusive="true" />
</dialog>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51756325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档