一.靜態加載
1.首先創建一個layout布局fragment.xml,里面放要顯示和操作的控件
2.創建一個layout布局main1.xml,用來實現頁面的跳轉(跳轉為要實現靜態加載的界面)
3.創建一個layout布局main2.xml,用來實現MyFragment類的轉換為視圖控件的定義
4.創建一個繼承自Activity的Main1.java類,載入main1.xml的視圖,並且實現點擊后頁面跳轉為Main2.java類
5.創建一個繼承自Activity的Main2.java類,載入main2.xml的視圖,並且實現點擊后fragment.xml中組件的text改變的效果,main2.java中可以直接引用fragment.xml中的控件
6.創建一個繼承自ragment的MyFragment.java類,載入fragment.xml的視圖,並且設置fragment.xml中組件的text初始的值
7.在AndroidMainFest文件里面定義Activity的Main1.java類和Activity的Main2.java類,並把Main1.java定義為初始的Activity界面
fragment.xml
<TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="改變" />
main1.xml
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="靜態加載" />
main2.xml
<fragment android:id="@+id/fragment" android:layout_width="wrap_content" android:layout_height="wrap_content" android:name="com.example.fragmentjing.MyFragment" />
Main1.java
public class Main1 extends Activity { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); btn1=(Button) findViewById(R.id.button1); btn1.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(Main1.this,Main2.class); startActivity(intent); } }); }
Main2.java
public class Main2 extends Activity { private TextView text; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); button=(Button) findViewById(R.id.button4); text=(TextView) findViewById(R.id.textView4); button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub text.setText("TextView的值改變了"); } }); } }
MyFragment.java
public class MyFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view=inflater.inflate(R.layout.fragment,container,false); TextView textView=(TextView)view.findViewById(R.id.textView4); textView.setText("靜態加載Fragment"); return view; } }
二.動態加載
1.首先創建一個layout布局fragment.xml,里面放要顯示和操作的控件
2.創建一個layout布局main1.xml,用來實現頁面的跳轉(跳轉為要實現靜態加載的界面)
3.創建一個繼承自Activity的Main1.java類,載入main1.xml的視圖,並且實現點擊后創建MyFragment2.java類的事件
4.創建一個繼承自ragment的MyFragment2.java類,載入fragment.xml的視圖,並且設置fragment.xml中組件的text初始的值
5.在AndroidMainFest文件里面定義Activity的Main1.java類和Activity的Main2.java類,並把Main1.java定義為初始的Activity界面
fragment.xml
<TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="改變" />
main1.xml
<LinearLayout android:id="@+id/frame" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout>
Main1.java
public class Main1 extends Activity { private Button btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); btn2=(Button) findViewById(R.id.button2); btn2.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub MyFragment2 fragment2 = new MyFragment2(); FragmentManager fragmrentManager = getFragmentManager(); FragmentTransaction beginTransaction = fragmrentManager.beginTransaction(); beginTransaction.add(R.id.frame, fragment2); beginTransaction.addToBackStack(null); beginTransaction.commit(); } }); } }
MyFragment2.java
public class MyFragment2 extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view=inflater.inflate(R.layout.fragment,container,false); TextView textView=(TextView)view.findViewById(R.id.textView4); textView.setText("動態加載Fragment"); return view; } }