Я разрабатываю приложение для Android с использованием Java.
Когда я запускаю приложение в Android Studio, пользовательский интерфейс не загружается полностью, я вижу нижнюю навигацию и панель инструментов, но фрагменты не загружаются в 90 % случаев, когда я запускаю приложение в Android Studio.
Это основной макет при загрузке приложения:
Я разрабатываю приложение для Android с использованием Java. Когда я запускаю приложение в Android Studio, пользовательский интерфейс не загружается полностью, я вижу нижнюю навигацию и панель инструментов, но фрагменты не загружаются в 90 % случаев, когда я запускаю приложение в Android Studio. Это основной макет при загрузке приложения: [code] package com.balu.datez; import com.google.gson.Gson; import com.microsoft.signalr.HubConnection; import com.microsoft.signalr.HubConnectionBuilder;
homeFragment = new HomeFragment(); interactionFragment = new InteractionsFragment(); highlightsFragment = new HighlightsFragment(); searchFragment = new SearchFragment();
signalConnectionsMainHelper = new SignalRConnectionsMainHelper(this, interactionFragment, userGuidSP); signalRFollowsMainHelper = new SignalRFollowsMainHelper(this, interactionFragment, userGuidSP);
transaction.show(homeFragment); transaction.hide(interactionFragment); transaction.hide(highlightsFragment); transaction.hide(searchFragment); transaction.commit(); // crashes in RUN, sometimes works in DEBUG }).start();
// Called when an item in the NavigationView is selected. @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { // Handle the selected item based on its ID FragmentTransaction transactionTemp = getSupportFragmentManager().beginTransaction(); if (item.getItemId() == R.id.nav_home) { toolbar.setTitle("Home"); transactionTemp.show(homeFragment); transactionTemp.hide(interactionFragment); transactionTemp.hide(highlightsFragment); transactionTemp.hide(searchFragment); transactionTemp.commit(); MenuItem itemBottomNav = bottomNavigationView.getMenu().findItem(R.id.home); itemBottomNav.setChecked(true); // Show a Toast message for the Account item //Toast.makeText(MainActivity.this, // "Account Details", Toast.LENGTH_SHORT).show(); }
if (item.getItemId() == R.id.nav_interactions) { toolbar.setTitle("Interactions"); transactionTemp.hide(homeFragment); transactionTemp.show(interactionFragment); transactionTemp.hide(highlightsFragment); transactionTemp.hide(searchFragment); transactionTemp.commit(); MenuItem itemBottomNav = bottomNavigationView.getMenu().findItem(R.id.interations); itemBottomNav.setChecked(true); // Show a Toast message for the Settings item //Toast.makeText(MainActivity.this, // "Settings Opened", Toast.LENGTH_SHORT).show(); }
if (item.getItemId() == R.id.nav_highlights) { toolbar.setTitle("Highlights"); transactionTemp.hide(homeFragment); transactionTemp.hide(interactionFragment); transactionTemp.show(highlightsFragment); transactionTemp.hide(searchFragment); transactionTemp.commit(); MenuItem itemBottomNav = bottomNavigationView.getMenu().findItem(R.id.highlights); itemBottomNav.setChecked(true); // Show a Toast message for the Logout item //Toast.makeText(MainActivity.this, // "You are Logged Out", Toast.LENGTH_SHORT).show(); }
if (item.getItemId() == R.id.nav_search) { toolbar.setTitle("Search"); transactionTemp.hide(homeFragment); transactionTemp.hide(interactionFragment); transactionTemp.hide(highlightsFragment); transactionTemp.show(searchFragment); transactionTemp.commit(); MenuItem itemBottomNav = bottomNavigationView.getMenu().findItem(R.id.search); itemBottomNav.setChecked(true); // Show a Toast message for the Logout item //Toast.makeText(MainActivity.this, // "You are Logged Out", Toast.LENGTH_SHORT).show(); }
// Close the drawer after selection drawerLayout.closeDrawers(); // Indicate that the item selection has been handled return true; } });
// Add a callback to handle the back button press getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) { // Called when the back button is pressed. @Override public void handleOnBackPressed() { // Check if the drawer is open if (drawerLayout.isDrawerOpen(GravityCompat.START)) { // Close the drawer if it's open drawerLayout.closeDrawer(GravityCompat.START); } else { // Finish the activity if the drawer is closed finish(); } } }); }
private void setCurrentFragment(Fragment fragment, String title) { toolbar.setTitle(title); getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, fragment) .commit(); } } [/code] Это связано с Android Studio или с моим кодом? Я пробовал: [code]new Thread(() -> { transaction.add(R.id.fragment_container, homeFragment); transaction.add(R.id.fragment_container, interactionFragment); transaction.add(R.id.fragment_container, highlightsFragment); transaction.add(R.id.fragment_container, searchFragment);
toolbar.setTitle("Home");
transaction.show(homeFragment); transaction.hide(interactionFragment); transaction.hide(highlightsFragment); transaction.hide(searchFragment); transaction.commit(); // crashes in RUN, sometimes works in DEBUG }).start(); [/code] Но все равно не повезло.