当前位置:首页 > 芯闻号 > 充电吧
[导读]动态加载的FragmentActivity => Fragment实例化 bundle类 传递给 Fragment//动态加载 fragment         Fragment fragmen

动态加载的Fragment

Activity => Fragment

实例化 bundle类 传递给 Fragment

//动态加载 fragment
        Fragment fragment = new Fragment(); //这个是我们自己定义的 Fragment
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        //实例化bundle类
        Bundle bundle = new Bundle();
        bundle.putString("title","学习雷锋好榜样");
        //传递数据
        fragment.setArguments(bundle);

        fragmentTransaction.addToBackStack(null); //后退按键 允许
        fragmentTransaction.add(R.id.linear,fragment);
        fragmentTransaction.commit();

Fragment =>Activity

实质就是调用Activity中的方法

Fragment.java

public interface MyListener{
        public void sayHello(String str);
    }

    @Override
    public void onAttach(Activity activity) {
        MyListener listener = (MyListener)getActivity();
        listener.sayHello("Fragment 传递给 Activity 的数据!");
        super.onAttach(activity);
    }

MainActivity.java

public class MainActivity extends ActionBarActivity implements Fragment.MyListener
...
...
   @Override
    public void sayHello(String str) {
        Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();
    }

静态加载的Fragment

Activity => Fragment

实质就是调用Fragment类中的方法

public class Fragment extends android.app.Fragment {

    private String str;

    public void setStr(String str) {
        this.str = str;
    }

    public String getStr() {
        return str;
    }

MainActivity.java

FragmentManager fragmentManager = getFragmentManager();
        android.app.Fragment fragmentById = fragmentManager.findFragmentById(R.id.fragment);
        Fragment fragment = (Fragment)fragmentById;
        fragment.setStr("123");

注意:Fragment 的 onCreateView的时候,Activity中的 setStr没有执行
 所以是无法在接收到的

Fragment =>Activity (和动态加载一致)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭