demo源码下载:
fragment间的切换工程有3个.java文件,4个xml文件
我们要实现的是:fragment_content2中有一个Button,而fragment _content1中有一个TextView, 一开始MainActivity.java显示fragment_content2的内容,当点击Button之后,切换成fragment_content1的内容。
fragment_content1.xml:
==”match_parent”android:orientation=”vertical” ><TextView==>
fragment_content2.xml:
==”match_parent”android:orientation=”vertical” ><Button==”这是fragment2″ /></LinearLayout>
activity_main.xml:
==”match_parent” ><FrameLayout==>
可以看到activity_main.xml中有一个FrameLayout,这个就是fragment的容器
ContentFragment.java:
package com.LZP.fragment_change;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.RelativeLayout;import android.widget.Toast;{private Button send2;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view = inflater.inflate(R.layout.fragment_content1, container, false);return view;}}
ContentFragment2.java:
package _change;import androidimport androidimport androidimport androidimport androidimport androidimport androidimport androidimport androidimport androidimport androidpublic class ContentFragment2 extends Fragment {private Button button;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubView view = inflater.inflate(R.layout.fragment_content2, container, false); button=(Button)view.findViewById(R.id.button1);button.setOnClickListener(new OnClickListener() {//按钮点击响应事件@Overridepublic void onClick(View v) {// TODO Auto-generated method stubFragmentManager fm = getActivity().getSupportFragmentManager();ContentFragment fragment=new ContentFragment();androidft = fm.beginTransaction();//container是activity_main.xml中的FrameLayout的ID,,用来放置Fragmentft.replace(R.id.container, fragment);ft.commit();}});return view;}}
MainActivity.java:
{(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FragmentManager fm = getSupportFragmentManager();ContentFragment2 fragment=new ContentFragment2();android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();ft.add(R.id.container, fragment);ft.commit();if (savedInstanceState == null) {getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();}}
我喜欢旅游,喜欢离开自己过腻歪的城市,