歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android教程:一個項目只使用一個Activity初探

Android教程:一個項目只使用一個Activity初探

日期:2017/3/1 10:18:41   编辑:Linux編程

提供一個簡單Android的一個項目只使用一個Activity初探案例:

1,新建一個項目

修改和添加三個xml文件:main.xml,item1.xml,item2.xml

a) main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <LinearLayout
  7. android:id="@+id/content"
  8. android:layout_width="fill_parent"
  9. android:layout_height="0dp"
  10. android:layout_weight="1"
  11. android:gravity="center_vertical|center_horizontal" >
  12. </LinearLayout>
  13. <Button
  14. android:id="@+id/button1"
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content"
  17. android:text="Change" />
  18. </LinearLayout>
b) item1.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <TextView
  7. android:id="@+id/tv1"
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent"
  10. android:text="1111111111111111111111111111111111" />
  11. </LinearLayout>
c) item2.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6. <TextView
  7. android:id="@+id/tv2"
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent"
  10. android:text="222222222222222222222222222222222222" />
  11. </LinearLayout>

修改MainActivity代碼:

  1. package com.bison.xxxxxxxxxxxxx;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.view.View.OnClickListener;
  6. import android.widget.Button;
  7. import android.widget.LinearLayout;
  8. public class MainActivity extends Activity implements OnClickListener {
  9. LinearLayout content;
  10. Button btn;
  11. LinearLayout item1, item2;
  12. boolean isChange = false;
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.main);
  17. // 初始化控件
  18. content = (LinearLayout) this.findViewById(R.id.content);
  19. btn = (Button) this.findViewById(R.id.button1);
  20. btn.setOnClickListener(this);
  21. // 加載item1
  22. initItem1();
  23. }
  24. private void initItem1() {
  25. item1 = (LinearLayout) LinearLayout.inflate(this, R.layout.item1, null);
  26. content.addView(item1);
  27. }
  28. private void initItem2() {
  29. item2 = (LinearLayout) LinearLayout.inflate(this, R.layout.item2, null);
  30. content.addView(item2);
  31. }
  32. @Override
  33. public void onClick(View v) {
  34. switch (v.getId()) {
  35. case R.id.button1:
  36. isChange = !isChange;
  37. if (isChange) {
  38. content.removeView(item1);
  39. // 加載item2
  40. initItem2();
  41. } else {
  42. content.removeView(item2);
  43. initItem1();
  44. }
  45. break;
  46. }
  47. }
  48. }

PS:如果多個Activity具有相同的Header和Footer,則可以考慮使用這種方法來寫.

Copyright © Linux教程網 All Rights Reserved