抽屉式导航栏没有显示出项目

问题描述 投票:0回答:2

我的抽屉式导航栏不显示任何项目。我改变的背景为白色,主题已经改变,但仍然没有项目显示出来。我也使用抽屉和线性布局内的框架布局。没有错误或消息。我究竟做错了什么?

编辑:我过于简化我的工作,但仍然一无所获。没有项目..

EDIT2:删除多个后,我取得了一些进展,现在我看到的是,在预览,我drawer_menu显示像在右上角的选项菜单,即使在postLoginactivity.xml文件预览显示了我的目标是做。在模拟器仍然没有任何项目。

EDIT3:我已经削减了我的一半的代码,仍然不能看到我做了什么错。

activity_post_login.xml
<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>
<!-- burdan sonra komple sıkıntı gibi?-->
<LinearLayout
    android:id="@+id/llayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ThemeOverlay.AppCompat.Light" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="326dp"
        android:layout_height="45dp"

        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:accessibilityLiveRegion="assertive"
        android:paddingStart="100dp"
        android:paddingEnd="100dp"
        android:text="@string/deneme"
        android:textSize="30sp"
        android:visibility="visible"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    </android.support.v7.widget.Toolbar>
    <!-- android:layout_height=?attr/actionBarSize-->


    <FrameLayout
        android:id="@+id/mainFrameLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        app:layout_constraintTop_toBottomOf="parent"
        tools:layout_editor_absoluteX="0dp"/>








</LinearLayout>


<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/nav_header"
     >
<ExpandableListView
    android:id="@+id/list_sliderMenu"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:paddingTop="176dp"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="1dp"
    />

</android.support.design.widget.NavigationView>


</android.support.v4.widget.DrawerLayout>





nav_header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="176dp"
android:background="@color/colorPrimary"
android:gravity="bottom"
android:padding="16dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:orientation="vertical"
>

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@mipmap/ic_launcher_round"/>

</LinearLayout>




drawer_menu.xml
<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
>
<!--tools:showIn="navigation_view"-->




<group android:checkableBehavior="single"
    android:id="@+id/menu_list">

    <item android:title="@string/satisYonetimi"
        android:id="@+id/satis_yonetimi"/>
    <item
        android:id="@+id/insanKaynaklari"

        android:title="@string/insanKaynaklari" />
    <item
        android:id="@+id/muhasebeYonetimi"

        android:title="@string/muhasebeYonetimi" />
    <item
        android:id="@+id/aktiviteYonetimi"

        android:title="@string/aktiviteYonetimi" />
    <item
        android:id="@+id/destekYonetimi"

        android:title="@string/destekYonetimi" />

</group>
</menu>





styles.xml
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar" parent="@style/AppTheme" >
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

</resources>


 v21\styles.xml
 <resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar" parent="@style/AppTheme" >
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

</resources>

另外,如果有人认为问题可能出在别的地方这里有category.java(扩展列表),subcategory.java(未来的子菜单将被实施),以及需显示我的抽屉里活动(下实现)

category.java

public class Category {
private String cat_name;
private  int cat_code;

public void setCat_name(String cat_name) {
    this.cat_name = cat_name;
}
public String getCatName(){
    return cat_name;
}

public void setCat_code(int cat_code) {
    this.cat_code = cat_code;
}

public int getCat_code() {
    return cat_code;
}
}



subcategory.java
public class SubCategory {
private String subcat_name;
private  String subcat_code;

public void setSubCatName(String subcat_name) {
    this.subcat_name = subcat_name;
}
public String getSubCatName(){
    return subcat_name;
}

public void setSubCatCode(String subcat_code) {
    this.subcat_code = subcat_code;
}

public String getSubCatCode() {
    return subcat_code;
}
}


postLogingActicity.java
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle; 
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.GravityCompat;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;  
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListView;

import java.util.ArrayList;


public class PostLoginActivity extends AppCompatActivity  {

ActionBar bar;
ViewPager viewPager;
FragmentPagerAdapter fpAdapter;
Fragment mMainScreen;

private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mDrawerToggle;
private ExpandableListView mCategoryList;

private ArrayList<Category> category_name = new ArrayList<Category>();
private ArrayList <ArrayList<Category>> subcategory_name = new ArrayList 
<ArrayList<Category>>();
private ArrayList<Integer> subCatCount = new ArrayList<Integer>();

int previousGroup;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post_login);     

    //Toolbar toolbar =findViewById(R.id.toolbar);
    //setSupportActionBar(toolbar);

    //mDrawerLayout = findViewById(R.id.drawer_layout);

    //ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, 
 //mDrawerLayout, toolbar,
     //       R.string.navigation_drawer_open, 
//R.string.navigation_drawer_close);
    //mDrawerLayout.addDrawerListener(toggle);
    //toggle.syncState();

    //this.getCatData();
    //Utils.deleteStringFromSp(this, "email");        
}

public void onBackPressed(){
    if(mDrawerLayout.isDrawerOpen(GravityCompat.START))
        mDrawerLayout.closeDrawer(GravityCompat.START);
    else
        super.onBackPressed();

}
}
android navigation-drawer android-framelayout
2个回答
0
投票

您的主要活动必须符合下列要求

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutDirection="rtl"
android:fitsSystemWindows="true"
tools:openDrawer="start">



<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:menu="@menu/activity_main_drawer" />

   </android.support.v4.widget.DrawerLayout>

和activity_main_drawer

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">

<group android:checkableBehavior="single">


    <item
        android:id="@+id/nav_menu7"
        android:icon="@drawable/ic_school_black_24dp"
        android:title="XXXX" />

    <item
        android:id="@+id/nav_menu11"
        android:icon="@drawable/ic_thumb_up_black_24dp"
        android:title="XXXX" />

    <item
        android:id="@+id/nav_menu12"
        android:icon="@drawable/ic_insert_drive_file_black_24dp"
        android:title="XXXX" />

    <item
        android:id="@+id/nav_menu6"
        android:icon="@drawable/ic_developer_mode_black_24dp"
        android:title="XXXX" />
</group>

</menu>

在科特林导航菜单

    // Navigate Menu
    override fun onNavigationItemSelected(item: MenuItem): Boolean {
    // Handle navigation view item clicks here.
    when (item.itemId) {



        R.id.nav_menu7 -> {


            val intent = Intent(this, Computer::class.java)
            startActivity(intent)
        }
        R.id.nav_menu6 -> {

            val menu6 = Menu6()
            val fragmentManager = supportFragmentManager
            fragmentManager.beginTransaction().replace(R.id.fragment,  menu6).addToBackStack(null).commit()
        }

        R.id.nav_menu12 -> {

            val intent = Intent(Intent.ACTION_VIEW,    Uri.parse("https://XXXXX"))
            startActivity(intent)
        }


    }
    drawer_layout.closeDrawer(GravityCompat.START)
    return true
    }

我希望这个解决您的问题菜单可与活动,片段网址


0
投票

你已经错过引用导航视图菜单

当你把它命名为“drawer_menu_xml”,然后修改为:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:headerLayout="@layout/nav_header"
    app:menu="@menu/drawer_menu"/>
© www.soinside.com 2019 - 2024. All rights reserved.