How to pass data from a fragment to a dialogFragment(如何将数据从片段传递到对话框片段)
问题描述
我知道以前有人问过这个问题,但我不太明白如何实现它.我有一个片段myFragment",我在其中创建了一个myDialogueFragment"的对象.当我从 myFragment 调用它时,我想将一些值传递给 myDialogueFragment.我有一个整数 num,我想将它传递给 myDialogueFragment 并将该数字与来自 myDialogueFragment 的其他一些信息一起存储在本地数据库中.
I know that this was asked before, but I dont quite understand how to implement it. I have a fragment "myFragment" in which I create an object of a "myDialogueFragment". I want to pass some value to the myDialogueFragment when I invoke it from the myFragment. I have an integer num, that I want to pass to the myDialogueFragment and store that number in a local database along with some other info from the myDialogueFragment.
我可能弄错了,但我看到的所有代码都是关于将数据从 myDialogueFragment 发送回 myFragment,这并不是我真正想要的.
I might be mistaken, but all the code I have seen is about sending data from the myDialogueFragment back to the myFragment which is not what I really want.
static MyDialogFragment newInstance(int num) {
MyDialogFragment f = new MyDialogFragment();
// Supply num input as an argument.
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments().getInt("num");
...
}
因此,此代码获取 myFragment onCreate() 方法中的参数.我想在 myFragment() 中发送参数并在 myDialogueFragment 中接收它们.
So, this code gets the arguments within the myFragment onCreate() method. I want to sent the arguments within the myFragment() and receive them in the myDialogueFragment.
我怎样才能做到这一点?
How can I achieve that?
推荐答案
你需要在片段上设置参数如下:
What you need is to setArguments on the fragment as follows:
Bundle args = new Bundle();
args.putString("key", "value");
DialogFragment newFragment = new YourDialogFragment();
newFragment.setArguments(args);
newFragment.show(getSupportFragmentManager(), "TAG");
您现在要做的就是在片段中捕获这些参数并使用它们...
All you have to do now, is catch those arguments in your fragment and use them...
在对话片段中,您会这样读...
AND IN THE DIALOG FRAGMENT YOU READ IT LIKE THIS...
Bundle mArgs = getArguments();
String myValue = mArgs.getString("keyUsed to send it...");
这篇关于如何将数据从片段传递到对话框片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何将数据从片段传递到对话框片段
基础教程推荐
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01