【问题标题】:Go back to a Fragment from a ActionBarActivity with the app icon as an up button?使用应用程序图标作为向上按钮从 ActionBarActivity 返回片段?
【发布时间】:2014-01-10 21:07:53
【问题描述】:

我有这个 GUI 来选择我在应用程序中的一些片段。当我选择“Empleados”选项时,Fragment 中的 ListView 如下所示:

    <activity
        android:name=".actividades.admin.InicioAdmin"
        android:theme="@style/AppTheme">
    </activity>

这是我初始化片段的开关。

    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(扩展片段)

选择员工时,它会加载一个 ActionBarActivity,您可以在其中为该员工执行一些功能。

我的问题是如何运行导航按钮以重新打开 ListView 所在的 Fragment?

当我按下物理“后退”按钮时,ListView 会重新打开,但应用图标无法正常工作。

AndroidManifest.xml 为上面的 ActionBarActivity (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>

【问题讨论】:

    标签: java android listview android-fragments


    【解决方案1】:

    你必须把要返回的代码放在你的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);
         }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-01
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2010-09-09
      • 2017-07-13
      • 1970-01-01
      • 2017-11-25
      相关资源
      最近更新 更多