добавить категорию в navListChild - PullRequest
0 голосов
/ 11 октября 2019

Я создаю приложение для Android, которое может отображать сообщения WordPress, я хочу добавить категории в подменю, но я не знаю, как это сделать, это моя часть кода MainActivity о наборе категорий и о ящике навигации

    public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
        recyclerViewScrollListener.onDataCleared();
        postsList.clear();
        mAdapter.notifyDataSetChanged();
        int id = menuItem.getItemId();
        progressBar.setVisibility(View.VISIBLE);
        String title = (String) menuItem.getTitle();
        getSupportActionBar().setTitle(title);
        if (title.equals("All posts")){
            fetchAllPosts();
            categoryMode = false;
            if (this.drawerLayout.isDrawerOpen(GravityCompat.START)) {
                this.drawerLayout.closeDrawer(GravityCompat.START);
            }
            return true;
        }
        Category category = null;
        for (Category category1 : categoryList){
            if (category1.getName().equals(title)){
                category = category1;
            }
        }
        categoryMode = true;
        assert category != null;
        fetchByCategory(category.getId());
        Log.i("fetching", "slug is: " + category.getSlug());
        this.categoryId = category.getId();
        if (this.drawerLayout.isDrawerOpen(GravityCompat.START)) {
            this.drawerLayout.closeDrawer(GravityCompat.START);
        }
        return true;
    }
    private void fetchByCategory(int slug){
        if (isLoading){
            return;
        }
        isLoading = true;
        mAdapter.showLoading(true);
        mAdapter.notifyDataSetChanged();
        currentPage = 1;
        Log.i("fetching", String.valueOf(currentPage) + " by category");
        compositeDisposable.add(
                apiService.fetchPostsByCategory(currentPage, LOAD_PER_PAGE, slug)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeWith(new DisposableSingleObserver<List<Post>>(){
                    @Override
                    public void onSuccess(List<Post> posts) {
                        for (Post post : posts) {
                            Log.i("fetching", post.getTitle().getRendered() + " by category");
                        }
                            postsList.clear();
                            postsList.addAll(posts);
                        isLoading = false;
                        mAdapter.showLoading(false);
                            mAdapter.notifyDataSetChanged();
                            toggleEmptyPosts();
                            currentPage++;
                        progressBar.setVisibility(View.GONE);
                    }
                    @Override
                    public void onError(Throwable e) {
                        Log.e("fetching", "Error: " + e.getMessage());
                        isLoading = false;
                        mAdapter.showLoading(false);
                        mAdapter.notifyDataSetChanged();
                        progressBar.setVisibility(View.GONE);
                    }
                })
        );
    }
и это мой XML-файл меню, я хочу получить слова WordPress под домашним элементом

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/naviation_drawer_bg">
    <!-- i want to add submenu here under this item -->
    <item android:id="@+id/all"
        android:title="الرئيسية"
        android:icon="@drawable/home"/>
    <!--  -->
    <item android:id="@+id/instriction"
        android:title="إرشادات"
        android:icon="@drawable/instruction"/>
    <item android:id="@+id/plant"
        android:title="تقديم شكوى"
        android:icon="@drawable/report"/>
    <item android:id="@+id/offices"
          android:title="مكاتب المنظمة"
          android:icon="@drawable/offices"/>
    <item android:id="@+id/contact"
        android:icon="@drawable/burhanuday_logo"
        android:title="اتصل بنا"/>
    <item android:id="@+id/about"
        android:title="من نحن"/>
    <item android:id="@+id/aboutApp"
        android:title="حول التطبيق"/>
</menu>

Как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...