Soll ich drei activities
den Inhalt anzuzeigen entsprechende tabs
oder fragments
und wie kann ich das erreichen?
Auf jeden Fall sollten Sie Fragment
für jede untere Navigation Item/Tab
verwenden. Wie FragmentHome
, FragmentSearch
und FragmentSettings
.
Um die Fragment
zu verändern, ergänzen NavigationItemSelectedListener
zu Ihrem BottomNavigationView
und Fragment
per MenuItem
Auswahl ändern:
BottomNavigationView bottomNavigationView = (BottomNavigationView)
findViewById(R.id.bottom_navigation_view);
bottomNavigationView.setOnNavigationItemSelectedListener
(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.action_item1:
selectedFragment = FragmentHome.newInstance();
break;
case R.id.action_item2:
selectedFragment = FragmentSearch.newInstance();
break;
case R.id.action_item3:
selectedFragment = FragmentSettings.newInstance();
break;
}
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_layout, selectedFragment);
transaction.commit();
return true;
}
});
Hier ist ein Tutorial über: BottomNavigationView with multiple Fragments
Ich brauche eine recyclerview
Termine anzuzeigen
Fügen Sie in Ihrem Layout XML
eine RecyclerView
hinzu, um die Liste der Termine anzuzeigen. In Ihrer Fragment
Klasse initialisieren Sie RecyclerView
und erstellen Sie eine ArrayList<Appointment>
und übergeben Sie diese list
an Ihre Adapter
, um auf RecyclerView
Zeile Elemente anzuzeigen. Hier
ist ein Tutorial über: How to use RecyclerView in Fragment
Wie kann ich die search bar
nur angezeigt werden, wenn das search
Symbol unten geklickt wird?
Sie können Optionsartikel programmatisch von ToolBar/ActionBar
gemäß Ihrer Fragmentänderung ein-/ausblenden.
In Ihrem FragmentSearch
, unter Änderungen tun Searchbar
zeigen:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.fragmet_search, parent, false);
return v;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.your_search_menu_xml, menu);
super.onCreateOptionsMenu(menu, inflater);
}
Hier werden einige nützliche Links:
- Android Toolbar Adding Menu Items for different fragments
- Hide/Show Action Bar Option Menu Item for different fragments
- Adding ActionBar Items From Within Your Fragments
Hoffe, dies wird dazu beitragen, das Szenario zu verstehen.
Es scheint, dass Sie nicht viele grundlegende Konzepte in der Android-Entwicklung kennen. Ich würde vorschlagen, dass Sie ein richtiges Tutorial über Android-Entwicklung folgen, um die Grundlagen zu erlernen und dann selbstständig zu versuchen. Bis dahin sollten Sie wissen, wie Sie Fragmente und Tabs verwenden und die Suchleiste dynamisch ein- und ausblenden können. – paradite