Fragment参数传递——setArguments
来源:互联网 发布:数据库发票表设计 编辑:程序博客网 时间:2024/04/30 22:36
在Fragment中传递参数方法有多种 第一要会使用setArguments();这个方法
1.首先要有一个Fragment的容器,使用RelativeLayout 就是最好的容器,注意要加id;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" ></RelativeLayout>
2.添加一个Fragment
public class Fragment1 extends Fragment{private View view;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubview = inflater.inflate(R.layout.fragment1, container, false);return view;}}
3.在MainActivity中写如下代码
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//1拿到管理者FragmentManager supportFragmentManager = getSupportFragmentManager();//2拿到事务FragmentTransaction beginTransaction = supportFragmentManager.beginTransaction();//创建对象Fragment1 fragment1=Fragment1.newInstance(str);//添加到容器beginTransaction.add(R.id.rl, fragment1);//提交事务beginTransaction.commit();}4.在Fragment中写一个静态方法 ,
public static Fragment1 newInstance(String str){//1创建对象Fragment1 fragment1=new Fragment1();//Bundle bundle=new Bundle();bundle.putString("param", str);//通过setArguments这个方法fragment1.setArguments(bundle);return fragment1;}
5.同样在Fragment中用onActivityCreated 这个方法来改变控件中的text
/** * 这个方法一定到activity方法走到最后创建的 */@Overridepublic void onActivityCreated(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onActivityCreated(savedInstanceState);Bundle arguments = getArguments();String string = arguments.getString("param");TextView tv = (TextView) view.findViewById(R.id.textView);tv.setText(string);}
0 0
- Fragment参数传递——setArguments
- Android Fragment传递参数Fragment.setArguments(Bundle bundle)
- Android Fragment传递参数Fragment.setArguments(Bundle bundle)
- 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- 如何向一个Fragment传递参数---setArguments方法的介绍
- 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Android使用newInstance()实例化fragment&setArguments()传递参数
- 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- 如何向一个Fragment传递参数---setArguments方法的介绍
- 如何向一个Fragment传递参数---setArguments方法的介绍
- 如何向一个Fragment传递参数---setArguments方法的介绍
- Fragment中传递参数推荐用Fragment.setArguments(Bundle bundle),而不用构造方法。
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Android解惑 - 为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- Java学习笔记
- poj2635(大整数求余)
- Java机器学习软件介绍
- Java学习记录(一)——与mysql数据库的连接
- 实现DeepID
- Fragment参数传递——setArguments
- An overview of gradient descent optimization algorithms
- find -name "*.c"|xargs touch
- Cisco交换机初始化配置
- SurfaceView的简单使用_熊德海
- Acticle 4:javascript事件的分类和介绍
- greenDao好的示例网址
- mov ah,1 int 21h
- 关于Spring JdbcTemplate调用queryForObject()方法结果集为空时报异常的解决办法