Fragment学习之Activity传递数据到Fragment
来源:互联网 发布:中程导弹知乎 编辑:程序博客网 时间:2024/05/14 01:07
上一篇文章我们理解怎样使用接口回调的方式将数据从Fragment传递到Activity中,这里我们将探讨如何将数据从Activity传到Fragment中。
思路:把数据先保存到Bundle中,然后在调用setArguments()方法进行传递。
MainActivity.java代码:
- public class MainActivity extends FragmentActivity {
- private FragmentManager manager;
- private FragmentTransaction transaction;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- /* 获取manager */
- manager = this.getSupportFragmentManager();
- /* 创建事物 */
- transaction = manager.beginTransaction();
- /* 创建LeftFragment*/
- LeftFragment leftFragment = new LeftFragment();
- /*创建一个Bundle用来存储数据,传递到Fragment中*/
- Bundle bundle = new Bundle();
- /*往bundle中添加数据*/
- bundle.putString("name", "廖泽民");
- /*把数据设置到Fragment中*/
- leftFragment.setArguments(bundle);
- /* 把Fragment添加到对应的位置 */
- transaction.add(R.id.left, leftFragment, "left");
- /* 提交事物 */
- transaction.commit();
- }
- }
LeftFragment.java代码:
- public class LeftFragment extends Fragment {
- public LeftFragment() {
- // TODO Auto-generated constructor stub
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- /*动态加载布局*/
- View view = inflater.inflate(R.layout.left, null);
- /*从动态布局中获取控件*/
- TextView txtView = (TextView) view.findViewById(R.id.txt);
- /*通过getArgments()方法获取从Activity传过来的值*/
- Bundle bundle = this.getArguments();
- /*为TextView设置值*/
- txtView.setText(bundle.getString("name"));
- return view;
- }
- @Override
- public void onPause() {
- // TODO Auto-generated method stub
- super.onPause();
- }
- }
activity_main.xml:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal"
- tools:context=".MainActivity" >
- <LinearLayout
- android:id="@+id/left"
- android:layout_width="224dp"
- android:layout_height="match_parent"
- android:background="#CCCCCC"
- android:orientation="vertical" >
- </LinearLayout>
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- </LinearLayout>
- </LinearLayout>
left.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <TextView
- android:id="@+id/txt"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- </LinearLayout>
demo结果展示:
0 0
- Fragment学习之Activity传递数据到Fragment
- Fragment学习之Activity传递数据到Fragment
- Fragment传递数据到Activity
- FragMent传递数据到Activity
- android数据传递(三)之Activity传递到Fragment
- Fragment基础点滴学习---Activity传递数据到Fragment(Fragment使用静态加载的方式)
- 子Fragment传递数据到宿主Activity
- 通过fragment argument从Activity传递数据到Fragment
- Activity与Fragment数据传递之Fragment之间获取数据
- Fragment基础点滴学习---Activity向Fragment传递数据
- Fragment基础点滴学习---Fragment向Activity传递数据
- Activity与Fragment数据传递之Activity之间获取数据
- Activity传递参数到Fragment
- fragment向activity传递数据
- activity给fragment传递数据
- android fragment activity 数据传递
- Activity向Fragment传递数据
- Fragment与Activity传递数据
- 难度0 猴子吃桃问题
- 重写getChildDrawingOrder,让gridview倒序绘制item
- visual studio c# 查找代码中含有中文的行 要求该行非注释、非#region
- 【TCP】半关闭(shutdown)
- 【概率论】1.2事件的运算、条件概率和独立性
- Fragment学习之Activity传递数据到Fragment
- 有一个班,三个学生,各学四门课,计算总平均分数以及第n个学生的成绩
- percona之复制工具介绍
- phpmyadmin 错误 #2002 Cannot log in to the MySQL server
- Windows事件驱动机制及消息循环
- 设定Grid行或列的尺寸
- 猜年龄
- git入门学习
- python3.4 安装pydelicious 错误解决