Фрагмент 1 открывается навигационным ящиком, а фрагмент 2 открывается фрагментом 1 Теперь я хочу вернуться от фрагмента 2 к фрагменту 1 с помощью кнопки возврата, как показано на рисунке, и хочу скрыть значок ящика из фрагмента 2Как я могу вернуться от фрагмента 2 к фрагменту 1? как показано на рисунке
1
A
ответ
0
Вы можете сделать это, добавив Acti vity, а затем сначала активировать вызов из предыдущего фрагмента, а затем вызвать нужный фрагмент в действии и, наконец, добавить кнопку назад в действие.
public class DetailActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
/* ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.header);
actionBar.setDisplayHomeAsUpEnabled(true); */
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationIcon(R.drawable.back);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Smart Take Away");
// getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (toolbar != null) {
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
// Bundle extras = getIntent().getExtras();
if (savedInstanceState == null) {
try {
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
DetailedListFragment fragment = new DetailedListFragment();
// fragment.setArguments(extras);
fragmentTransaction.replace(R.id.detailfragment, fragment);
fragmentTransaction.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
}
+0
Да это работает для меня, как магия спасибо Exception Lover , – Innocent
0
Вы можете использовать щелчок или салфетки событие
получить экземпляр вашего второго фрагмента
SecondFragment fragment = new SecondFragment();
fragmentManager.beginTransaction().replace(R.id.first_container, fragment).commit();
Использование Android навигации Drawer - http://developer.android.com/training/implementing-navigation/nav-drawer.html – Inducesmile
Я уже использую ящик – Innocent