- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有这段代码:
public static DateDialogFragment newInstance(Context context, DateDialogFragmentListener listener) {
DateDialogFragment dialog = new DateDialogFragment();
mContext = context;
mListener = listener;
/*I dont really see the purpose of the below*/
Bundle args = new Bundle();
args.putString("title", "Set Date");
dialog.setArguments(args);
return dialog;
}
非常不言自明,但我不明白的是给它一个 bundle 有什么意义。我想我从来没有真正利用过它。 Android Doc 对此(对于 Fragments)的解释如下: http://developer.android.com/reference/android/app/Fragment.html#setArguments(android.os.Bundle )构造论证到底是什么意思?由于它从未使用过,所以我看不到它的用途。非常感谢任何解释。谢谢。
最佳答案
它只是一种通用机制,供您附加数据值,您可能希望使用这些数据值来配置 Fragment
或在操作期间以其他方式读取,类似于您可能在 中传递额外内容的方式通过它的
bundle 到一个新的 Intent
将 Activity
。
不过,我确实同意,由于 Fragment
可以使用其构造函数实例化,而 Activity
不能,因此 API 的实用性似乎受到了损害,因为您可以就像在返回实例之前使用 newInstance()
中的 setter 方法和成员变量轻松配置 Fragment
一样。例如,您的代码可以在 Fragment
上实现一个名为 setTitle()
的方法,您可以调用该方法,而无需将其作为参数传递。但是,如果该模型适合您的应用程序,参数确实提供了一种将此信息存储为键/值数据的好方法。
Fragment
参数的一个关键区别是它们作为已保存实例状态的一部分保留。因此,如果您的 UI 旋转或某些其他更改需要重新创建 Fragment
,则附加的参数 Bundle
将被保留并交还给新实例。
HTH
关于android - DialogFragment 中的 setArgument 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060538/
您好,我在 android 网站上查看以下 Fragments 示例。 http://developer.android.com/guide/components/fragments.html#Exa
使用 FragmentPagerAdapter 我试图返回一个 fragment 。但是我最终遇到错误 setArgument(bundle) is undefined 。但我不打算定义它,查看其他示
我正在关注这个SO answer .但是我在这一行上有错误 cannot resolve method setarguments details.setArguments(getI
我注意到,在 Fragments 的 Android 引用资料(特别是 DialogFragment)中,它们做了一些与我预期不同的事情: 1)。使用 public static foo newIns
我有这段代码: public static DateDialogFragment newInstance(Context context, DateDialogFragmentListener lis
官方例子中http://developer.android.com/reference/android/app/DialogFragment.html#BasicDialog该 fragment 是使
我在将 NSInvocation 与不是对象的参数一起使用时遇到问题。我传递的简单整数值已更改为不同的值。 这是我正在调用的方法: +(NSString*) TestMethod2 :(int32_t
我正在使用来自的信息在我的应用程序中创建标签 epidemian answer 我创建了处理选项卡的主类,该类扩展了 TabActivity 并创建了选项卡: Resources res =
我正在使用下面链接中给出的示例 http://android-er.blogspot.in/2013/04/handle-onlistitemclick-of-listfragment.html 这里
Is it possible to setArguments() on onActivityResult() and pass it to FragmentActivity? 从我的 SecondAc
我有以下问题。 我有一个 NSArray 值,我需要遍历这些值并将其内容设置为 NSInvocation 对象的相应参数。考虑以下代码: NSArray *args = @[@"test"]; 稍后我
是否必须使用 bundle 和 set argument 来设置数据?这里有什么问题吗? MyFragment frag = new MyFragment () frag.setData(mSchoo
我有一个 Activity,它承载一个 Fragment。 Activity 布局文件: Activity的Java代码: import android.support.v4.app.F
我有 2 个 fragment :(1)Frag1 (2)Frag2。 fragment 1 bundl = new Bundle(); bundl.putStringArrayList("elist
我在使用包含 double 或任何未对齐的 64 位类型的结构设置 NSInvocation 的参数时遇到一个奇怪的问题(我在结构的开头用 char 偏移它)。问题是一些字节在设置参数后被清除。这个问
在一些非常罕见的情况中,这条线路会发生崩溃: mCurrentDialogFragment.get().setArguments(bundle); protected void showDateTim
我正在将一段代码迁移到自动引用计数 (ARC),并让 ARC 迁移器抛出错误 NSInvocation's setArgument is not safe to be used with an obj
我是一名优秀的程序员,十分优秀!