У меня был полнофункциональный вид рециркулятора, который открывается как фрагмент ящика навигации, когда приложение открывается к нему.Я изменил некоторый код и непреднамеренно потерял некоторый код, и теперь, когда открывается панель навигации, фрагмент остается пустым, пока я не нажимаю на фрагмент, чтобы открыть его снова в панели, отображает ли она представление и его содержимое.Могу ли я получить некоторую помощь в определении отсутствующего фрагмента кода?
Я давно не трогал этот фрагмент кода, потому что думал, что он работает нормально, поэтому я больше не могу визуализировать код, но я пошелчерез учебные пособия, которые я использовал для навигационного ящика и в окне повторного просмотра, чтобы убедиться, что они будут работать индивидуально, и, похоже, у меня есть все.Я проверяю некоторые вопросы о переполнении стека, но они, похоже, соответствуют только взгляду переработчика пожарной базы и на самом деле не отвечают на мою конкретную проблему.
На этой странице ящик инициализирован, и должен быть вызван обзор переработчика.
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.front_page);
android.support.v7.widget.Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_front_page);
NavigationView nV = findViewById(R.id.drawer_view);
View header = nV.getHeaderView(0);
nV.setNavigationItemSelectedListener(this);
callbackManager = CallbackManager.Factory.create();
connMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
drawer.openDrawer(Gravity.START);
toggle.syncState();
nV.setCheckedItem(R.id.list_venue);
/*ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(!networkInfo.isConnected()){
}*/
//TODO: Create network status check with animation and Dialog
sharedPreferences = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
isLoggedOut = sharedPreferences.getBoolean(LOGINSTATUS,false);
drawerProfilePicture = header.findViewById(R.id.drawer_pic_profile);
drawerUserName = header.findViewById(R.id.drawer_profile_username);
drawerUserEmail = header.findViewById(R.id.drawer_profile_email);
if (AccessToken.getCurrentAccessToken() != null && !AccessToken.getCurrentAccessToken().isExpired()) {
facebookLogin();
} else {
inHouseSignUp();
}
}
А вот recyclerview
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.menu_venue, container, false);
if (!Places.isInitialized()) {
Places.initialize(contextForPlaces, "AIzaSyCKGd3fqmtsDklRGMhnkuIy1GS-j6gRBh8");
}
RecyclerView vRV = view.findViewById(R.id.view_venue);
vRV.setHasFixedSize(true);
RecyclerView.LayoutManager vLM = new LinearLayoutManager(this.getActivity());
vAdapter = new VenueAdapter(vIL);
vAdapter.setOnItemClickListener(this::shareTheView);
placesClient = Places.createClient(contextForPlaces);
//TODO: Make App mention when there is no service
//TODO Figure out animation for scrolling
//TODO: add code to make sure that the VenueList is complete before displaying it
//look for transfering keys for the information instead of the information itself
//TODO: E/RecyclerView: No adapter attached; skipping layout
for (String club : clubs) {
FetchPlaceRequest request = FetchPlaceRequest.newInstance(club, placeFields);
placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
Place place = response.getPlace();
PhotoMetadata photoMetadata = Objects.requireNonNull(place.getPhotoMetadatas()).get(0);
//String attributions = photoMetadata.getAttributions();
FetchPhotoRequest photoRequest = FetchPhotoRequest.builder(photoMetadata).setMaxHeight(400).setMaxWidth(400).build();
placesClient.fetchPhoto(photoRequest).addOnSuccessListener((fetchPhotoResponse) -> {
Bitmap bitmap = fetchPhotoResponse.getBitmap();
vIL.add(new VenueItem( /*Photo*/bitmap, place.getName()));
//Log.i(TAG, "Photo Should Be Up");
vRV.setLayoutManager(vLM);
vRV.setAdapter(vAdapter);
}).addOnFailureListener((exception) -> {
if (exception instanceof ApiException) {
ApiException apiException = (ApiException) exception;
int statusCode = apiException.getStatusCode();
// Handle error with given status code.
Log.e(TAG, "Place not found: " + exception.getMessage());
}
});
Log.i(TAG, "Place found: " + place.getName());
}).addOnFailureListener((exception) -> {
if (exception instanceof ApiException) {
ApiException apiException = (ApiException) exception;
int statusCode = apiException.getStatusCode();
// Handle error with given status code.
Log.e(TAG, "Place not found: " + exception.getMessage());
}
});
}
vAdapter.notifyDataSetChanged();
return view;
}
Весь код работает, но он не открывается при первом вызове, и мне нужно вызвать его вручную, что никогдаслучилось раньше.