Activity向Fragment中传值

Activity与Fragment互传数据 Activity与Fragment 首先需要明确的是,Activity与Fragment是多对多关系。一个Activity中可以有多个Fragment,一个Fragment也可以存在于多个Activity中。 Activity向Fragment传递数据 跟Activity之间的互传数据一样需要通过Bundle对象作为载体进行传递。 Fragment可以通过有参构造函数的参数接收Activity传来的数据。 public AFragment(String s) { Bundle bundle = 阅读详情

activity向fragment中传值   
1。要传的值  放到Bundle对象里

2。通过创建传递封Fragment 将bundle对象 通过 setArguments()传递到fragment

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



代码:

MainActivity:


  1. package com.qianfeng.activitytofragment;  
  2.   
  3. import android.annotation.SuppressLint;  
  4. import android.app.Activity;  
  5. import android.app.FragmentManager;  
  6. import android.app.FragmentTransaction;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.widget.EditText;  
  10.   
  11. @SuppressLint("NewApi")   
  12. public class MainActivity extends Activity {  
  13.   
  14.     private EditText et1;  
  15.     private FragmentManager manager;  
  16.     private FragmentTransaction transaction;  
  17.     @Override  
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.activity_main);  
  21.           
  22.         et1 = (EditText) findViewById(R.id.et1);  
  23.           
  24.         manager = getFragmentManager();  
  25.         transaction = manager.beginTransaction();  
  26.           
  27.         transaction.add(R.id.contents, new Fragment1());  
  28.         transaction.commit();  
  29.           
  30.     }  
  31.       
  32.     //点击按钮时  进行传值  
  33.     public void onclickBtn(View v){  
  34.         switch (v.getId()) {  
  35.         case R.id.button1:  
  36.             Fragment1 fragment1 = new Fragment1();  
  37.             Bundle bundle = new Bundle();  
  38.             String strValue = et1.getText().toString().trim();  
  39.             bundle.putString("str", strValue);  
  40.             fragment1.setArguments(bundle);  
  41.             //如果transaction  commit()过  那么我们要重新得到transaction  
  42.             transaction = manager.beginTransaction();  
  43.             transaction.replace(R.id.contents, fragment1);  
  44.             transaction.commit();  
  45.             break;  
  46.   
  47.         default:  
  48.             break;  
  49.         }  
  50.     }  
  51.       
  52.       
  53.       
  54. }  
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 :
  1. package com.qianfeng.activitytofragment;  
  2.   
  3. import android.annotation.SuppressLint;  
  4. import android.app.Fragment;  
  5. import android.os.Bundle;  
  6. import android.view.LayoutInflater;  
  7. import android.view.View;  
  8. import android.view.ViewGroup;  
  9. import android.widget.TextView;  
  10.   
  11. @SuppressLint("NewApi")   
  12. public class Fragment1 extends  Fragment{  
  13.     @Override  
  14.     public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  15.             Bundle savedInstanceState) {  
  16.         // TODO Auto-generated method stub  
  17.         View view = inflater.inflate(R.layout.fragment_layout1, container, false);  
  18.         TextView textView1 = (TextView) view.findViewById(R.id.textView1);  
  19.         Bundle bundle = getArguments();//从activity传过来的Bundle  
  20.         if(bundle!=null){  
  21.             textView1.setText(bundle.getString("str"));  
  22.         }  
  23.           
  24.         return view;  
  25.     }  
  26. }  
fragment向Activity中传值 我们一般用的最多的是Activity向fragment中传值,大家都知道会用到setArgument(),但是如果Fragment向Activity中传值,可能就稍微有些麻烦, 要用到接口回调,其实也很简单,只是要稍稍理一下思路,下面是我做的一个小demo简单易懂 上面是一个fragment中放四个button,Activity底部也放入四个button,在点击fragment中的任意butt 阅读详情

相关推荐

深度学习PyTorch代码模板——模型训练框架、数据处理、绘图…

个人用深度学习代码模板:模型训练框架、数据处理、绘图等。待补充。

https://www.hyperplasma.top 1908

Fragment与Activity之间的传值

一、Activity传值给Fragment 1.方法一:(Fragment是动态加载的)在activity中建一个bundle,把要传的值存入bundle,然后通过fragment的setArguments(bundle)传到fragment,在fragment中,用getArguments接收 activity : MyFragment fragment = new MyFragment();...

Silence_Sep的博客 2万+

使用项目管理画布启动项目

许多人对商业模式画布并不陌生,它是亚历山大·奥斯特瓦德(Alexander Osterwalder)、伊夫·皮尼厄(Yves Pigneur)在《商业模式新生代》(Business Model Generation)中提出的一种用来描述商业模式、可视化商业模式、评估商业模式以及改变商业模式的通用语言。 在我们做敏捷软件项目inception(项目启动规划)的时候经常会用到商业画布,此时它的作用是帮助我们快速了解客户的业务、产品和市场,帮助客户梳理自己的资源、优势和盈利模式,总的来说,商业画布是一种简单实用的

IDEAL Garden 1224

Activity与Fragment数据传输

1.fragment生命周期 (1) 当一个fragment被创建的时候,它会经历以下状态. onAttach() onCreate() onCreateView() onActivityCreated() (2) 当这个fragment对用户可见的时候,它会经历以下状态。 onStart() onResume() (3)当这个fragment进入“后台模式”的时候,它会经历以下...

mulanlong的博客 5797

STM32 ADC+DMA实战:手把手教你驱动XGZP6847A压力传感器(附完整代码)

本文详细介绍了如何使用STM32的ADC和DMA外设驱动XGZP6847A压力传感器,包括硬件连接、ADC配置、DMA高效传输实现以及数据处理与校准方法。通过实战案例和完整代码,帮助开发者快速掌握高精度压力数据采集技术,适用于工业控制和医疗设备等领域。

weixin_42570484的博客 404

Unity3D实战:5分钟搞定RTSP监控视频流播放(附完整代码)

本文详细介绍了如何在Unity3D中快速实现低延迟RTSP监控视频流播放,提供完整代码和优化方案。通过Video Player组件和FFmpeg集成,开发者可以轻松应对智能家居和安防监控领域的实时视频流挑战,显著降低延迟并提升性能。

weixin_29015051的博客 588

Activity向Fragment传值

这里只介绍在创建Fragment对象的时候,怎么给Fragment传递值。因为最近比较忙,过一阵会发表具体介绍Fragment的使用文章 在原来看书学习的时候,书中介绍到很多传值得方法,但推荐使用Bundle对象传递让Fragment显示有两种方式,但是<fragment>标签这样的方式是不推荐的,显得中规中矩,后期也不是很好操作和维护,这里利用FragmentManager的方式添加到布局中代码

李磊 7901

logisim中,如何设计一个位于十字路口的交通信号灯控制系统?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1345

Android Activity传递数据给Fragment

Android Activity传递数据给Fragment 一、方法① 通过get;set;方法,首先在承载fragment的activity中将要传递的数据set进去,然后在fragment中通过get()方法取到数据。 xxx = ((MainActivity)getActivity()).getXxx(); 二、方法② 在Activity中创建Bundle数据包,调用Fragment实例的setArguments(bundle) 从而将Bundle数据包传给Fragment,然后Fragment中调

qq_43962511的博客 4964

【例1896】report all clearance datasets 报告所有间隙数据集

report all clearance datasets 报告所有间隙数据集》这是一个NX二次开发官方小例子,下面是代码和解析。相较于混乱、未经验证的代码,官方案例能够确保开发者获得准确的开发方法,这些官方示例代码经过严格测试,能够正确地反映出NX软件的功能和API使用方式,有助于开发者系统地掌握NX二次开发技能,提高开发质量和效率。本专栏订阅后是永久阅读的。欢迎一起学习NX二次开发案例,逐步积累宝贵的经验,早日成为行业专家。

王牌飞行员_里海的博客 644

OpenCASCADE:Direct3D CSharp 示例

OpenCASCADE:Direct3D CSharp 示例OpenCASCADE:Direct3D CSharp 示例 OpenCASCADE:Direct3D CSharp 示例 此示例演示了如何在使用CSharp和Windows Presentation Foundation (WPF)编写的.Net应用程序中使用 OCCT 和 DirectX 库。 .Net、OCCT (C++) 和 DirectX 级别之间的连接由用 C++/CLI 编写的代理库OCCProxy和D3DProxy提供。代理库OCC

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1824

android activity传值fragment,Fragment向Activity传值

###前言之前讲过Activity向Fragment传值的具体方法,也附带讲了些Activity向Fragment传值需要注意的问题,然后讲了activity和fragment对返回键的处理。那么,这节我们就来讲讲Fragment怎么向Activity传值吧。今天涉及的知识有:1. Fragment 向 activity 传值的前提条件2. Fragment的代码处理3. Activity对于回传...

weixin_35253082的博客 1039

DTI-ALPS 指标计算(附代码),评估脑类淋巴系统功能

DTI-ALPS 指标计算(附代码),评估脑类淋巴系统功能

xxx 1051

Android Activity向Fragment界面传值(使用Handler和回调)

参考博客https://blog.youkuaiyun.com/chenliguan/article/details/53906934 方法一Handler传值: 首先在MainAvtivity类声明一个Handler private Handler mHandler; public void setHandler(Handler handler) { mHandle...

kangkang123_98的博客 1999

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Fragment系列解析之三---Fragment和Fragment、Activity之间传值

今天这篇文章我们来聊一下和Fragment有关的传值。 1、先来说一下Fragment和Fragment之间是怎么传值得吧。一、 在Fragment的宿主Activity创建一个变量,然后给它设置set和get方法,然后我们可以在Fragment中取出此值,也可以改变此值。 这种方法一般是用在要传的值比较简单,或者内容单一的话。二、在Fragment的宿主Activity里定义一个方法用来判断

shaoenxiao的博客 604

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

通过接口给fragment传值_Activity向Fragment传值

###前言之前讲过Fragment的动态加载的问题,那么这篇文章我们来介绍下Activity向Fragment传值的知识。今天涉及的内容有:1. Activity向Fragment传值的几种方式2. Activity利用bundle向Fragment传值3. Activity利用回调接口向Fragment传值4. 效果图和项目结构图先来波效果图![](/contentImages/image/20...

weixin_39808877的博客 485

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Fragment和Activity之间传值的方法

文章目录从Activity传到Fragment中通过setArguments()方法传值通过获取对象进行传值从Fragment传到Activity中Fragment之间传值 从Activity传到Fragment中 通过setArguments()方法传值 这个方法需要先实例化一个Bundle对象作为载体进行传值 Activity //实例化Fragment Fragment1 f = new Fragment1(); //实例化一个Bundle对象 Bundle bundle = new Bund

苹果是我咬的的博客 784

android 开发activity动态传值给fragment时遇到的问题

最近在做项目中有个需求就是viewpager嵌套fragment,写一个搜索的界面,然后外部的activity动态传值给里面的fragment,里面用传进来的value值去搜索展示数据,遇到的 问题就是我for循环创建了4个fragment,然后在activity中写了个接口,fragment实现接口接收值,但是4个fragment只有最后一个接收到传过来的值了,其他的都为null,然后就一直不...

no_stop_1的博客 1904

Android Fragment 和 Activity相互传值

Activity 给 Fragment传值 1.1 Activity中代码 //send data to fragment Bundle bundle = new Bundle(); bundle.putString("landId", landId); pictureDisplayFragment.setArguments(bundle)...

imxiezy的博客 528

Fragment与Activity 传值

interface的使用,activity 与framgent相互传值,fragment 与fragment之间互相传值

qq_26522993的博客 3292

ViewPager中Fragment和Activity直间的传值

代码拿走,代码拿走,首先因为我的需求页面都差不多,类似于头条的那种,所以直接公用了一个fragment布局,当然你也可以创建多个,没有影响,主要实现的就行Fragment和Activity的传值处理 首先创建一个Fragment,在这里面我是定义了一个公共的静态方法,getInstance(),这是一个传值的方法,要在activity中调用,直接复制在你的Fragment中就行,onCreate...

recordCSND的博客 2011

Activity与Fragment之间的传值

Activity与Fragment之间的传值 fragment跳转activity传值 采用Bundle。例如:viewPager中的fragment向activity跳转。 Intent intent = new Intent(getActivity(), DiYaExceptionDetailListActivity.class); Bundle bundle = new Bun...

dream_xang的博客 4428

Fragment传值到Actvity,Activity传值到Fragment的操作步骤

一、Fragment传值到Actvity:        activity_main.xml中:            &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_...

whycmpx的博客 535

C#-Xamarin的Activity传值与Fragment引用

C#-Xamarin的Activity传值与Fragment引用前言 我们学习任何一个新框架时,肯定都需要学习它的子页面用法,因为子页面是封装公共内容最好的容器。 在Xamarin里子页面为Fragment,翻译过来是片段的意思。 Fragment 下面我们来学习Fragment的用法。 首先创建一个类MenuFragment继承Fragment;然后重...

weixin_33853827的博客 138

通过 Fragment 向 Activity 传值,

通过 Fragment 向 Activity 传值,记住接口回调用法 你未读 前言 学习接口回调。 通过 Fragment 向其所属 Activity 传值,利用接口回调方式,学习理解接口回调。 实现过程 新建工程,在 MainActivity 中初始化一个 TextView 来显示通过静态方式添加的 Fragment 中传递过来的值;Fra

qq_32992021的博客 339
上一篇: Android利用ListView实现多种Item的复杂布局
下一篇: MVP二级购物车布局和简单逻辑
Developer_Sir
博客等级 码龄9年 3粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值