<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ####** 一、什么是Activity?** 簡單的說:Activity就是布滿整個窗口或者懸浮于其他窗口上的交互界面。在一個應用程序中通常由多個Activity構成,都會在Manifest.xml中指定一個主的Activity,如下設置 <actionandroid:name="android.intent.action.MAIN" /> 當程序第一次運行時用戶就會看這個Activity,這個Activity可以通過啟動其他的Activity進行相關操作。當啟動其他的Activity時這個當前的這個Activity將會停止,新的Activity將會壓入棧中,同時獲取用戶焦點,這時就可在這個Activity上操作了。都知道棧是先進后出的原則,那么當用戶按Back鍵時,當前的這個Activity銷毀,前一個Activity重新恢復。 ![](http://hi.csdn.net/attachment/201109/6/0_1315323572WmLX.gif) ~~~ <span style="font-size:18px;"> package com.android.ttx.actiitylifedemo; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; public class ActivityLifeDemo extends Activity { private final static String TAG="ActivityLifeDemo"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.i(TAG, "onCreate"); } @Override protected void onStart() { Log.i(TAG, "onStart"); super.onStart(); } @Override protected void onRestart() { Log.i(TAG, "onRestart"); super.onRestart(); } @Override protected void onResume() { Log.i(TAG, "onResume"); super.onResume(); } @Override protected void onPause() { Log.i(TAG, "onPause"); super.onPause(); } @Override protected void onStop() { Log.i(TAG, "onStop"); super.onStop(); } @Override protected void onDestroy() { Log.i(TAG, "onDestroy"); super.onDestroy(); } } </span> ~~~ 打印log,觀察activity的生命周期: 代碼很簡單,只涉及到一個Activity,一些用戶的操作,我們通過記錄操作和打印日志的方式來看看Activity的生命周期過程。 1、 運行 看到如下打印日志: 08-31 08:46:53.916: INFO/ActivityLifeDemo(312): onCreate 08-31 08:46:53.916: INFO/ActivityLifeDemo(312): onStart 08-31 08:46:53.916: INFO/ActivityLifeDemo(312): onResume 2、按下返回按鍵: 08-31 09:29:57.396: INFO/ActivityLifeDemo(354): onPause 08-31 09:29:58.216: INFO/ActivityLifeDemo(354): onStop 08-31 09:29:58.216: INFO/ActivityLifeDemo(354): onDestroy 3、長按Home鍵,彈出最近打開過的應用程序,點擊ActivityLifeDemo 08-31 08:51:46.916: INFO/ActivityLifeDemo(312): onCreate 08-31 08:51:46.916: INFO/ActivityLifeDemo(312): onStart 08-31 08:51:46.936: INFO/ActivityLifeDemo(312): onResume 4、按Home鍵 08-31 08:53:32.676: INFO/ActivityLifeDemo(312): onPause 08-31 08:53:33.796: INFO/ActivityLifeDemo(312): onStop 5、在AllList中點擊打開 08-31 08:54:14.286: INFO/ActivityLifeDemo(312): onRestart 08-31 08:54:14.286: INFO/ActivityLifeDemo(312): onStart 08-31 08:54:14.296: INFO/ActivityLifeDemo(312): onResume #### **二、activity如何與fragment結合使用?** 通常,Fragment作為Activity整體視圖層次樹的一部分,被嵌入到宿主Activity的界面的一部分。有兩種方法能夠把Fragment添加到Activity布局中: 1. 在Activity布局文件的內部聲明Fragment。 你能夠像一個視圖那樣給Fragment指定布局屬性。下例說明了給Activity指定兩個Fragment的布局文件。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.example.news.ArticleListFragment" android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.news.ArticleReaderFragment" android:id="@+id/viewer" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout> 在<fragment>元素中的android:name屬性指定了在布局中要實例化的Fragment。 當系統創建這個Activity布局時,它實例化在布局中指定的每一個Fragment,并且分別調用onCreateView(),來獲取每個Fragment的布局。然后系統會在Activity布局中插入通過<fragment>元素中聲明直接返回的視圖。 注:每個Fragment需要一個唯一的標識,這樣能夠在Activity被重啟時系統使用這個ID來恢復Fragment(并且你能夠使用這個ID獲取執行事務的Fragment,如刪除)。有三種給Fragment提供ID的方法: A. 使用android:id屬性來設置唯一ID; B. 使用android:tag屬性來設置唯一的字符串; C. 如果沒有設置前面兩個屬性,系統會使用容器視圖的ID。 2. 編程給一個既存的ViewGroup添加Fragment。 在Activity運行的任何時候,都可以把Fragment添加到Activity布局中。你只需要指定一個放置Fragment的ViewGroup。要在Activity中使用Fragment事務(如添加、刪除、或替換Fragment),必須使用來自FragmentTransaction的APIs。你能夠向下面例子那樣從Activity中獲取一個FragmentTransaction實例: FragmentManager fragmentManager = getFragmentManager() FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 然后,你能夠使用add()方法把Fragment添加到指定的視圖中,如: ExampleFragment fragment = new ExampleFragment(); fragmentTransaction.add(R.id.fragment_container, fragment); fragmentTransaction.commit(); 傳遞給add()方法的第一個參數是Fragment應該被放入的ViewGroup,通過資源ID來指定這個ViewGroup,第二個參數是要添加的Fragment。 一旦FragmentTransaction對象發生了改變,就必須調用commit方法來提交改變的影響。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看