Почему содержимое Navigation_fragment_view невидимоJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему содержимое Navigation_fragment_view невидимо

Сообщение Anonymous »

Я новичок в разработке для Android и пытаюсь реализовать панель кнопок-гамбургеров с несколькими различными вкладками. вот мой код для различных компонентов. Я перепробовал все, что мог придумать, и около 3 часов стучал головой о компьютер, пытаясь понять это.
main Activity.java

Код: Выделить всё

public class MainActivity extends AppCompatActivity {

private AppBarConfiguration appBarConfiguration;
private ActivityMainBinding binding;
DrawerLayout drawerLayout;
NavigationView navigationView;
NavController navController;
NavHostFragment navHostFragment;
ActionBarDrawerToggle toggle;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(R.layout.activity_main);
setSupportActionBar(findViewById(R.id.toolbar));
//get the drawer, navigation vew and navcontroller
drawerLayout = findViewById(R.id.drawer_layout);
navigationView = findViewById(R.id.navigation_view);
navHostFragment =(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_fragment_view);
assert navHostFragment != null;
navController = navHostFragment.getNavController();
assert navController != null;

//set up the action bar
toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.open, R.string.close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph())
.setOpenableLayout(drawerLayout)
.build();
//NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

//set up the navigation view
//NavigationUI.setupWithNavController(navigationView, navController);
navigationView.setNavigationItemSelectedListener(item -> {
int id = item.getItemId();
if(id == R.id.Home_navigation_button){
navController.navigate(R.id.Home);
}
else if (id == R.id.ReservationPage_navigation_button){
navController.navigate(R.id.ReservationPage);
}
drawerLayout.close();
return true;
});
navController.addOnDestinationChangedListener((controller, destination, arguments) -> {
String label = destination.getLabel().toString();
getSupportActionBar().setTitle(label);
});

}

@Override
public boolean onSupportNavigateUp() {
return NavigationUI.navigateUp(navController, appBarConfiguration)
|| super.onSupportNavigateUp();
}
public boolean onOptionsItemSelected(MenuItem item) {
if (toggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}

main.xml активности header.xml home.xml home.java

Код: Выделить всё

package com.example.parkstreet.cms.homeapp;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.Navigation;
import androidx.navigation.fragment.NavHostFragment;

import com.example.parkstreet.cms.homeapp.databinding.HomeBinding;

public class Home extends Fragment {

private HomeBinding binding;

@Override
public View onCreateView(
@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
)
{

binding = HomeBinding.inflate(inflater, container, false);
return binding.getRoot();

}

public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

binding.HomeToReservationPageButton.setOnClickListener(v ->
Navigation.findNavController(view).navigate(R.id.ReservationPage)
);
}

@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}

}
Кажется, что ящик работает, поскольку название страницы отображается в верхней части панели инструментов, но на самом деле страница просто белая.
i перепробовали все: от изменения ширины макета каждого слоя дерева, от кнопки на домашней странице до ограниченного поля макета. я не понимаю, почему он всегда невидим, независимо от того, на странице бронирования или на домашней странице.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -invisible
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»