Android 之 ActionBar返回按鈕

ActionBar自帶的返回按鈕功能


Activity繼承AppCompatActivity

在mainfest文件中配置如下:


</pre><pre name="code" class="html"> <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity
            android:name=".SecondActivity"
            android:label="第二個ac"
            android:parentActivityName=".ThirdActivity"/>

        <activity
            android:name=".ThirdActivity"
            android:label="第三個ac"
            android:parentActivityName=".ForthActivity"/>

        <activity
            android:name=".ForthActivity"
            android:label="第四個Ac"
            android:parentActivityName=".SecondActivity"
            />




android:parentActivityName=".ThirdActivity"就是設置返回的目標Activity.
注意:-------------android:parentActivityName屬性-----只能針對已經存在於 activity棧 中的活動
簡單解釋下:
正常情況下:啓動MainActivity——>SecondActivity--->ThirdActivity 點擊ActionBar的返回按鈕
如果ThirdActivity的android:parentActivityName設置爲SecondActivity會返回SecondActivity,並且ThirdActivity會 退出Activity棧。此時點擊 鍵盤返回按鈕會  回到MainActivity。
如果ThirdActivity的android:parentActivityName設置爲MainActivity會返回MainActivity,並且ThirdActivity,SecondActivity會退出Activity。此時點擊鍵盤返回按鈕會退出應用。
非正常情況啓動MainActivity——>SecondActivity--->ThirdActivity
ThirdActivity的android:parentActivityName設置爲ForthActivity,此時並沒有啓動ForthActivity,因此在Activity棧中也沒有ForthActivity,這時點擊ActionBar發返回按鈕就會回到MainActivity。也就是回到Activity棧的棧底Activity,並且會清空Activity棧。
簡單總結下:android:parentActivityName主要是設置父Activity,當設置的父Activity不存在時候,會返回當前Activity棧的 棧底Activity。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章