2014-03-25 12 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上 –

相关问题