关闭

Activity向Fragment中传值

标签: AndroidFragment
232人阅读 评论(0) 收藏 举报
分类:

说明:

activity向fragment中传值   

1。要传的值  放到Bundle对象里
2。通过创建传递封Fragment 将bundle对象 通过 setArguments()传递到fragment

3.Fragment中 通过getArguments() 得到 bundle对象  就能得到里面的值

代码:

MainActivity:

    package com.qianfeng.activitytofragment;  
      
    import android.annotation.SuppressLint;  
    import android.app.Activity;  
    import android.app.FragmentManager;  
    import android.app.FragmentTransaction;  
    import android.os.Bundle;  
    import android.view.View;  
    import android.widget.EditText;  
      
    @SuppressLint("NewApi")   
    public class MainActivity extends Activity {  
      
        private EditText et1;  
        private FragmentManager manager;  
        private FragmentTransaction transaction;  
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.activity_main);  
              
            et1 = (EditText) findViewById(R.id.et1);  
              
            manager = getFragmentManager();  
            transaction = manager.beginTransaction();  
              
            transaction.add(R.id.contents, new Fragment1());  
            transaction.commit();  
              
        }  
          
        //点击按钮时  进行传值  
        public void onclickBtn(View v){  
            switch (v.getId()) {  
            case R.id.button1:  
                Fragment1 fragment1 = new Fragment1();  
                Bundle bundle = new Bundle();  
                String strValue = et1.getText().toString().trim();  
                bundle.putString("str", strValue);  
                fragment1.setArguments(bundle);  
                //如果transaction  commit()过  那么我们要重新得到transaction  
                transaction = manager.beginTransaction();  
                transaction.replace(R.id.contents, fragment1);  
                transaction.commit();  
                break;  
      
            default:  
                break;  
            }  
        }  
          
          
          
    }  

Fragment :

    package com.qianfeng.activitytofragment;  
      
    import android.annotation.SuppressLint;  
    import android.app.Fragment;  
    import android.os.Bundle;  
    import android.view.LayoutInflater;  
    import android.view.View;  
    import android.view.ViewGroup;  
    import android.widget.TextView;  
      
    @SuppressLint("NewApi")   
    public class Fragment1 extends  Fragment{  
        @Override  
        public View onCreateView(LayoutInflater inflater, ViewGroup container,  
                Bundle savedInstanceState) {  
            // TODO Auto-generated method stub  
            View view = inflater.inflate(R.layout.fragment_layout1, container, false);  
            TextView textView1 = (TextView) view.findViewById(R.id.textView1);  
            Bundle bundle = getArguments();//从activity传过来的Bundle  
            if(bundle!=null){  
                textView1.setText(bundle.getString("str"));  
            }  
              
            return view;  
        }  
    }  


0
0
查看评论

Fragment向另一个Activity传值

Fragment中    Intent intent = new Intent(getActivity().getApplicationContext(), WeiZhangActivity.class);          ...
  • tiantian_kuaile
  • tiantian_kuaile
  • 2016-10-27 22:03
  • 909

Activity向Fragment中传递参数

Fragment 与 Activity之间传递数据有两种方法,一种是使用setArgument,一种是使用接口回调。下面先学习第一种方法。 (1)使用setArgument方法: 为了便于理解,我在这里打个比喻:假如Activity是皇帝,它设立了三个部门(如三省六部),分别是Fragmen...
  • LK1105010206
  • LK1105010206
  • 2015-10-16 16:31
  • 2104

Fragment向activity中传值

Fragment向activity中传值 1.在Fragment中写一个回调接口   2.在activity中实现这个回调接口 3,在Fragment中onAttach 方法中得到activity中实现好的 实例化接口对象 4,用接口的对象  进行传值 ...
  • shanxuyang
  • shanxuyang
  • 2015-07-28 22:56
  • 12143

Activity向Fragment中传值

activity向fragment中传值    1。要传的值  放到Bundle对象里 2。通过创建传递封Fragment 将bundle对象 通过 setArguments()传递到fragment 3.Fragment中 通过getArguments(...
  • shanxuyang
  • shanxuyang
  • 2015-07-28 22:54
  • 47846

fragment向Activity中传值

我们一般用的最多的是Activity向fragment中传值,大家都知道会用到setArgument(),但是如果Fragment向Activity中传值,可能就稍微有些麻烦, 要用到接口回调,其实也很简单,只是要稍稍理一下思路,下面是我做的一个小demo简单易懂 上面是一个fragment中放四个...
  • bian_xingkongjinghao
  • bian_xingkongjinghao
  • 2016-11-07 16:46
  • 181

Fragment和Activity之间通过广播的方式传递数据

1.管理类 /** * 广播管理类:注册广播、注销广播、发送广播 * @author weizh_000 * @date 2016-8-29 */ public class BroadCastManager { private static BroadCastManager broadC...
  • qq_30948129
  • qq_30948129
  • 2016-08-29 22:56
  • 1480

安卓中回调实现Fragment向Activity传值

1.创建主布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tool...
  • my_worldlet
  • my_worldlet
  • 2015-09-15 20:31
  • 1395

activity向另一个activity中的fragment传值

在学习和项目运用中会用到activity想另一个activity中的fragment传值,在网上看了很多前辈的帖子,自己总结写了个传值方式。举个例子,在一个商场的app中,主界面中嵌套了4fragment,中有一个是个人中心,点击个人中心的登录按钮跳到登录界面,在吧登录界面的用户名传回个人中心,有很...
  • qq_30710615
  • qq_30710615
  • 2016-02-24 17:39
  • 1710

安卓中实现Activity向Fragment传值

1.写主布局文件,有一个输入框,发送按钮,用来放Fragment的LinearLayout     xmlns:tools="http://schemas.android.com/tools"     andro...
  • my_worldlet
  • my_worldlet
  • 2015-09-15 19:39
  • 5806

android中activity向service中传值

和activity中互相传值类似 这里我是用的intent的,没用广播来,因为本身测试数据量小,就不用之 如何启动service?在activity中通过startService(intent)即可,同样intent.putStringExtra() 然后再service中的onStart函数...
  • Jave_
  • Jave_
  • 2011-10-25 20:28
  • 6847
    个人资料
    • 访问:535645次
    • 积分:8136
    • 等级:
    • 排名:第3001名
    • 原创:297篇
    • 转载:39篇
    • 译文:0篇
    • 评论:104条
    坚持不懈
    如果这篇文章帮助了你,可以点入下面的连接,帮忙点击两个广告,给点鼓励,Thanks♪(・ω・)ノ !!!
    VR次元
    最新评论