美文网首页
Fragment与宿主Activity通信

Fragment与宿主Activity通信

作者: 爱做梦的严重精神病患者 | 来源:发表于2018-08-22 14:59 被阅读0次

1.Fragment与宿主Activity通信

在Activity中可以通过FragmentManager.findFragmentById()的方法获取到Fragment


当Fragment与Activity要进行数据传输的时候可利用fragment.setArguments()与getArguments()方法。

  以下为例:当Activity创建Fragment的时候利用Fragment的static newInstance()方法,将需要的参数传递进去。接着,在newInstance()方法中将参数保存在Argument中,接着从Argument中取出。

CrimeFragment.java

public class CrimeFragment extends Fragment {

          public static CrimeFragment newInstance(int id) {
                    Bundle args = new Bundle();
                    args.putInt("ID", id);

                    CrimeFragment fragment = new CrimeFragment();
                    fragment.setArguments(args);
                    return fragment;
          }  

@Override
          public void onCreate(Bundle savedInstanceState) {
                    int id = getArguments().getIntent("ID");
                  }
}

CrimeActivity.java

public class CrimeActivity extends SingleFragmentActivity {

@Override
 protected Fragment createFragment() {
        return CrimeFragment.newInstance(id);                  
      }
}

相关文章

网友评论

      本文标题:Fragment与宿主Activity通信

      本文链接:https://www.haomeiwen.com/subject/miufiftx.html