我有这个 GUI 来选择应用程序中的一些 fragment 。当我选择“Empleados”选项时, fragment 内的 ListView 显示如下:
<activity
android:name=".actividades.admin.InicioAdmin"
android:theme="@style/AppTheme">
</activity>
这是我初始化 fragment 的开关。
Fragment fragment = null;
switch (posicion) {
case 0:
fragment = new HomeFragment();
break;
case 1:
fragment = new EmpleadoFragment();
break;
case 3:
UsuarioFunciones.cerrarSesion(context);
Intent inicio = new Intent(getApplicationContext(), Login.class);
inicio.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(inicio);
finish();
Toast.makeText(context,"Sesión finalizada",Toast.LENGTH_LONG).show();
break;
default:
break;
}
if (fragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame,
fragment).commit();
listView.setItemChecked(posicion, true);
listView.setSelection(posicion);
setTitle(navMenuTitulos[posicion]);
drawerLayout.closeDrawer(listView);
}
EmpleadoFragment.java(扩展Fragment)
选择员工时,它会加载一个 ActionBarActivity,您可以在其中为该员工执行一些功能。
我的问题是如何运行导航按钮以重新打开 Fragment ListView 在哪里?
当我按下物理“后退”按钮时,ListView 将重新打开,但应用程序图标不起作用。
上述 ActionBarActivity 的 AndroidManifest.xml (DetalleEmpleado.java):
<activity
android:name=".actividades.admin.DetalleEmpleado"
android:label="@string/actividad_detalle_empleado"
android:theme="@style/AppTheme"
android:parentActivityName=".SampleParentActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".SampleParentActivity"/>
</activity>
最佳答案
您必须将要返回的代码放入 ActionBarActivity 的 onOptionsItemSelected 中。 Here您可以找到更多信息。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
//Close current activity
finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
关于java - 使用应用程序图标作为向上按钮从 ActionBarActivity 返回 Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21054411/