Android ActionBar Home按鈕返回事件處理的兩種方式


今早無聊查看了一下android官方文檔,最近對ActionBar很感興趣,它確實對我們的日常開發起到了很便捷的作用.

對於通過點擊ActionBar的Home按鈕返回,以前我只知道有一種方式:也就是

 

通過 getSupportActionBar().setDisplayHomeAsUpEnabled(true); 設置ActionBar的Home按鈕可以點擊,
@Override public boolean onOptionsItemSelected(MenuItem item) {     // Handle presses on the action bar items     switch (item.getItemId()) {         case R.id.action_home: android.R.id.home             // 處理返回邏輯             return true;         default:             return super.onOptionsItemSelected(item);     } }

第二種也是剛在官網看到的,在此記錄一下,防止以后忘記: 在manifest中明確的標明子Activity的父級關系的Activity

 

 

<application ... >     ...     <!-- The main/home activity (it has no parent activity) -->     <activity         android:name="com.example.myfirstapp.MainActivity" ...>         ...     </activity>     <!-- A child of the main activity -->     <activity         android:name="com.example.myfirstapp.DisplayMessageActivity"         android:label="@string/title_activity_display_message"         android:parentActivityName="com.example.myfirstapp.MainActivity" >         <!-- Parent activity meta-data to support 4.0 and lower -->         <meta-data             android:name="android.support.PARENT_ACTIVITY"             android:value="com.example.myfirstapp.MainActivity" />     </activity> </application>

然后再onCreat()方法中調用Home按鈕可點擊:

 

 

@Override public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_displaymessage);     getSupportActionBar().setDisplayHomeAsUpEnabled(true);     // If your minSdkVersion is 11 or higher, instead use:     // getActionBar().setDisplayHomeAsUpEnabled(true); }

然后不用做其他的處理,當我們點擊home按鈕時,Android系統會自動為我們返回父級Activity.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM