修改现有的 DialogFragment

奥菲克平托克

我想知道是否有任何方法可以获得 DialogFragment 就像getFragmentByTag

我来解释一下。我正在使用对话框片段从用户那里获取一些信息,然后将信息设置为可扩展 ListView 的子项数据。

然后我创建了一个按钮,允许用户编辑子数据。我想重新打开同一个 DialogFragment 并在 EditText 字段中设置旧数据。这是我的代码:

NewExerciseChildFragment editExercise = new NewExerciseChildFragment();
Bundle bundle = new Bundle();
bundle.putInt("groupPosition", groupPosition);
bundle.putString("exerciseName", exerciseName);
bundle.putDouble("weight", weight);
bundle.putInt("reps", reps);
bundle.putInt("sets", sets);

editExercise.setArguments(bundle);
editExercise.show(getFragmentManager(), "showEditedExercise"); 

问题是,我创建了一个新的 DialogFragment,这意味着我不会编辑数据而是添加另一个孩子。

有任何想法吗?

萨米

根据文档,您有两个选项可以显示您的DialogFragment,作为对话框(“弹出”)或嵌入

在对话框或嵌入之间进行选择

如果需要,DialogFragment 仍然可以选择用作普通片段。如果您的片段在某些情况下应显示为对话框,而其他片段应显示为更大的 UI,则这很有用。通常会根据您使用片段的方式自动选择此行为,但可以使用 setShowsDialog(boolean) 自定义。

参考:https : //developer.android.com/reference/android/app/DialogFragment

对话框旨在用作“弹出窗口”*,通常在解雇后销毁。此选项需要传递对驻留在 中的数据/模型/对象的引用ExapandableListView(或其中的某个子项,正如您所提到的)。该对象需要公开所有必要的 setter/getter 以使其值/状态由DialogFragment.

如果您确实走这条路线,那么为什么不以相同的方式获取(运动指标的)初始数据 - 通过传递对空白对象的引用 - 除非有其他原因需要初始获取未提及的数据的特殊情况?这样,您获取和编辑数据的机制将是相同的。

通过包/包裹传递对象引用的好文章在这里https://medium.com/@hamidgh/sending-objects-to-fragment-naive-question-is-it-sent-by-value-ddaaa19fa42d

嵌入将允许用户就地编辑数据,消除对弹出窗口的需要,但这可能需要比可用空间更多的空间,因为数据/字段必须足够大才能合理轻松地进行编辑。

但是,使用您已有的内容,是否有任何理由不能简单地返回编辑过的数据,就像最初输入时所做的那样,您似乎Bundle正确地使用了将值发送回对话框进行编辑,所以我看那里没有问题?

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有DialogFragment的Android相机

来自分类Dev

具有重叠视图的DialogFragment

来自分类Dev

带有DialogFragment Android的动画

来自分类Dev

CloudKit修改现有的CK订阅

来自分类Dev

如何修改现有的python文件

来自分类Dev

为什么DialogFragment时DialogFragment没有被销毁?

来自分类Dev

具有自定义标题的DialogFragment

来自分类Dev

Android DialogFragment没有WRAP_CONTENT

来自分类Dev

onCreateDialog中的带有RecyclerView的DialogFragment问题

来自分类Dev

具有多个相关布局的 Dialogfragment

来自分类Dev

如何修改元素中现有的<content>?

来自分类Dev

修改现有的GWT应用程序

来自分类Dev

重新打包和/或修改现有的Firefox扩展XPI

来自分类Dev

修改现有的表单值-GetChoices()无法正常工作

来自分类Dev

如何在Java中修改现有的jsonobject

来自分类Dev

通过x修改现有的哈希值并返回哈希

来自分类Dev

是否可以修改现有的TensorFlow计算图?

来自分类Dev

使用Terraform修改现有的IAM角色

来自分类Dev

修改现有的GWT应用程序

来自分类Dev

重新打包和/或修改现有的Firefox扩展XPI

来自分类Dev

通过x修改现有的哈希值并返回哈希

来自分类Dev

修改现有的.htaccess,使其忽略子域

来自分类Dev

如何在C中修改现有的YAML节点?

来自分类Dev

如何在ruby中修改现有的csv列?

来自分类Dev

可以修改现有的 MySQL 查询吗?

来自分类Dev

需要修改现有的多行 Perl 替换代码

来自分类Dev

无法修改现有的 AWS RDS。获取 InvalidParameterCombination 错误

来自分类Dev

如果设置了STYLE_NO_TITLE,则带有AppCompatDialog的DialogFragment崩溃

来自分类Dev

屏幕方向更改后,dialogFragment似乎没有任何调用

Related 相关文章

热门标签

归档