fragment 传值问题笔记

本文详细介绍了Android应用中Activity与Fragment之间的数据传递方法,包括Activity向Fragment传值、Fragment向Activity回传数据以及Fragment间的数据交换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,Activity 向fragment传值

在activity中

MyFragment fragment_inf = new MyFragment();
Bundle bundle = new Bundle();bundle.putString("name",name);fragment_inf.setArguments(bundle);

然后再将fragment加入到相应布局中去

在fragment中

String name;
Bundle bundle=getArguments();
if (bundle==null)
    Toast.makeText(getActivity(),"名称传递失败",Toast.LENGTH_SHORT).show();
else name = bundle.getString("name");

2,fragment 向activity中传值,采用接口回调的方式

a, 在fragment中写一个内部接口

public interface Mytext{

    public abstract void setString(String );

}

b, 并在fragment里面实例化这个接口并调用这个方法(建议在重写的oncreate方法里写)

String t=" hello ";

Mytext text = new MyActivity();

text.setString(t);

c, 在MyActivity中实现这个接口

public class MyActivity extends FragmentActivity implements{
String text;
........

public void setTtext(Strring str){

if(str!=null&&str.eqauls(""))

text = str;

}

} 

3, fragment 向同一个Activity下的fragment 传值

比如说,现在有fragment1和fragment2

在fragment1 中我们可以调用 Fragment2 frag2 = (Fragment2)getFragmentManager().findFragmentbyId(R.id.frag2); //这个R.id.frag2 就是frag2 所绑定的布局

获得了对象后,就自然可以调用里面的方法了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值