在Activity里嵌套Fragment

来源:互联网 发布:严歌苓 知乎 编辑:程序博客网 时间:2024/05/01 02:34

Fragment

public class TestFragment extends Fragment {    private static final String ARG_USER = "user";    private User user;    public TestFragment() {        // Required empty public constructor    }    //传递数据    public static TestFragment newInstance(User user) {        TestFragment fragment = new TestFragment();        Bundle args = new Bundle();        args.putSerializable(ARG_TICKET, user);        fragment.setArguments(args);        return fragment;    }    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        if (getArguments() != null) {            user = (User) getArguments().getSerializable(ARG_USER);        }    }    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,                             Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.app_fragment_user_detail,container,false);        return view;    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);    }    @Override    public void onAttach(Context context) {        super.onAttach(context);    }    @Override    public void onDetach() {        super.onDetach();    }}

Activity

public class TestActivity extends AppCompatActivity {    private User user;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        user = (Ticket) getIntent().getSerializableExtra(User.class.getSimpleName());        initViews();    }    private void initViews() {        if(user != null){           getSupportFragmentManager().beginTransaction().replace(R.id.container,TestFragment.newInstance(user)).commit();        }    }   }
1 0
原创粉丝点击