2014-03-25 44 views
0

我管理所有應用程序中的相同菜單。 所以,我管理BaseActivity,並在我的應用程序BaseActivity擴展每個活動:我的應用程序的所有活動中的後退按鈕

public class BaseActivity extends SherlockFragmentActivity { 
static final int REQUEST_IMAGE_CAPTURE = 1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setTitle(""); 

    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE 
      | ActionBar.DISPLAY_SHOW_CUSTOM); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int itemId = item.getItemId(); 

    switch (itemId) { 
    case android.R.id.home: 
     NavUtils.navigateUpFromSameTask(this); 
     return true; 
    case R.id.menu_chat: 
     Toast.makeText(this, "Aqui va el chat", Toast.LENGTH_SHORT).show(); 
     break; 
    case R.id.menu_foto: 
     dispatchTakePictureIntent(); 
     break; 
    case R.id.menu_settings: 
     Toast.makeText(this, "Aqui van los settings", Toast.LENGTH_SHORT).show(); 
     break; 
    case R.id.menu_sync: 
     Toast.makeText(this, "Aqui van los settings", Toast.LENGTH_SHORT).show(); 
     break; 

    } 
    return super.onOptionsItemSelected(item); 

} 


} 

這是好事,以避免所有活動書寫動作條配置。 但現在,我想在操作欄中爲所有活動添加「後退」按鈕。 我能做到這一點,如果我在所有活動中寫:

 getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
在OnCreate

,並

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     NavUtils.navigateUpFromSameTask(this); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

,並添加在AndroidManifest.xml:

<activity 
     android:name="com.spg.movil.RutaActivity" 
     android:configChanges="keyboardHidden|orientation|screenSize" 
     android:label="@string/title_activity_ruta" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.spg.movil.FragmentTabsPdv" /> 
    </activity> 

但它贏得了」如果我嘗試在BaseActivity中集中這個功能,那麼就工作了。 有沒有辦法在每個活動中只寫一次後退按鈕圖標?

回答

0

進入你的活動,點擊ctrl +空格,然後輸入onBack並回車。那麼你就可以重寫整個活動的方法。

+0

我不想重寫onBackPressed,我想在圖標上添加後退按鈕,在actionBar上 –

相關問題