fragment 传值问题笔记

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 所绑定的布局

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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值