Android中Fragment的Arguments
16lz
2021-01-23
Android中Fragment的Arguments
导读:向framgent传参数,用argument是最好的方式。下面代码是做app用到的。
Activity:
public static ArticleFragment newInstance(String param1) { ArticleFragment fragment = new ArticleFragment(); Bundle args = new Bundle(); args.putString(ARTICLE_TYPE, param1); fragment.setArguments(args); return fragment; }
Fragment:
ArticleFragment articleFragment = ArticleFragment.newInstance(result.get(i).getCode());
为啥不用其他两种不好的方式
1. 重载构造函数
public class MyFragment extends Fragment { public MyFragment(MyParameter p){ //将参数保存起来 }}
一旦由于什么原因(横竖屏切换)导致你的Fragment重新创建。你之前传递的参数都不见了,因为recreate你的Fragment的时候,调用的是默认构造函数。
2.intent传参数
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mArgument = getActivity().getIntent().getStringExtra(ARGUMENT); }
我们用Fragment的一个很大的原因,就是为了复用。这么写,相当于这个Fragment已经完全和当前这个宿主Activity绑定了,复用直接废了
更多相关文章
- C语言函数以及函数的使用
- Android 获取url中的参数
- android传递参数
- Android参数传递总结
- android执行外部程序,类似DELPHI里的EXEC函数
- ImageView.setScalType参数详解
- [Android Studio] Android Studio如何提示函数用法
- Android webview注入自己的js代码(js传入function等其他参数解决)
- Android命令行获取WiFi列表以及参数