- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
您好,我在 android 网站上查看以下 Fragments 示例。
http://developer.android.com/guide/components/fragments.html#Example
我想知道为什么要执行某些方法。
例如,为什么在 detailsFragment
中执行以下方法:
public static DetailsFragment newInstance(int index) {
DetailsFragment f = new DetailsFragment();
// Supply index input as an argument.
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
难道你不能简单地实例化 DetailsFragment
并使用 setter 方法来设置 index
。绕过整个 setArguments
。
首先使用 setArguments
有什么意义?不能只使用 setter 和 getter 吗?
最佳答案
您可以使用 getter 和 setter,但通过传入一个包,您无需编写该代码,因为它已经存在。另外,我相信如果屏幕方向发生变化,这些参数会自动再次传入,这也让生活更轻松。
从本质上讲,setArguments 和 getArguments 只是 Google 建议您遵循的一种设计模式:
Every fragment must have an empty constructor, so it can be instantiated when restoring its activity's state. It is strongly recommended that subclasses do not have other constructors with parameters, since these constructors will not be called when the fragment is re-instantiated; instead, arguments can be supplied by the caller with setArguments(Bundle) and later retrieved by the Fragment with getArguments(). http://developer.android.com/reference/android/app/Fragment.html
我认为这包括您的 Fragment 也需要运行的 setter。话又说回来 - 没有什么强制你这样做,而且如你所知 - 这不是让事情发挥作用的唯一方式。
关于android - setArguments 的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11397099/
您好,我在 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
我是一名优秀的程序员,十分优秀!