2015-10-14 2 views
1

В Android Studio 1.4 я создал работу с навигационным ящиком. Моя основная активность уже настроена, и теперь я хочу переключиться на другую активность через навигационный ящик. Второе действие (AddDataActivity) должно собирать некоторые пользовательские возможности для создания строки, которая должна отображаться в моем основном списке операций. Моя проблема в том, что я не знаю, как открыть AddDataActivity, не «потеряв» мой навигационный ящик.Как использовать навигационный ящик для переключения действий [Android Studio]

Intent AddData = new Intent(MainActivity.this, AddDataActivity.class); 
MainActivity.this.startActivity(AddData); 

Должен ли я скопировать весь код ящика для каждой операции? Или было бы лучше использовать Фрагменты?

+0

* Или было бы лучше использовать фрагменты? * Да –

+0

Так что я должен заменить AddDataActivity с AddData фрагмент и вызвать фрагмент в моей MainActivity? - Просто для меня это правильно: P – Rastaman

+1

В принципе, это будет контейнер для фрагментов, да –

ответ

0

Я использую фрагменты, теперь я избегаю этой ситуации.

@SuppressWarnings("StatementWithEmptyBody") 
 
    @Override 
 
    public boolean onNavigationItemSelected(MenuItem item) { 
 
     Fragment fragment; 
 
     FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
 
     fragment = new ListViewFragment(); 
 
     int id = item.getItemId(); 
 

 
      if (id == R.id.nav_listview) { 
 
       fragment= new ListViewFragment(); 
 

 
      } else if (id == R.id.nav_add_data) { 
 
       fragment= new AddDataFragment(); 
 

 
      } else if (id == R.id.nav_settings) { 
 
       fragment= new SettingsFragment(); 
 

 
      } else if (id == R.id.nav_rooms) { 
 
       fragment= new SavedRoomsFragment(); 
 

 
      } else if (id == R.id.nav_legal_information) { 
 
       fragment = new LegalInformationFragment(); 
 
      } 
 
     ft.replace(R.id.container, fragment); 
 
     ft.addToBackStack(null); 
 
     ft.commit(); 
 

 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
 
     drawer.closeDrawer(GravityCompat.START); 
 
     return true; 
 
    }

Смежные вопросы