Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我点击时,汉堡包不起作用。我得拖拽菜单_Android_Android Layout_Navigation Drawer_Hamburger Menu - Fatal编程技术网

Android 当我点击时,汉堡包不起作用。我得拖拽菜单

Android 当我点击时,汉堡包不起作用。我得拖拽菜单,android,android-layout,navigation-drawer,hamburger-menu,Android,Android Layout,Navigation Drawer,Hamburger Menu,这是我实现抽屉和工具栏的主要活动。我已经在堆栈上尝试了所有可能的解决方案。我没有使用汉堡包图像 我创建了导航视图并将其添加到我的xml中: public class NavigationMenu extends AppCompatActivity { DrawerLayout drawerLayout; Toolbar toolbar; ActionBarDrawerToggle actionBarDrawerToggle; FragmentTransaction

这是我实现抽屉和工具栏的主要活动。我已经在堆栈上尝试了所有可能的解决方案。我没有使用汉堡包图像 我创建了导航视图并将其添加到我的xml中:

public class NavigationMenu extends AppCompatActivity {
    DrawerLayout drawerLayout;
    Toolbar toolbar;
    ActionBarDrawerToggle actionBarDrawerToggle;
    FragmentTransaction fragmentTransaction;
    NavigationView navigationView;
    RoundImage roundedImage;
    ImageView profileImage;
    TextView uname,mail;

    private SQLiteHandler db;
    private SessionManager session;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_navigation_menu);

        toolbar = (Toolbar)findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        getSupportActionBar().setHomeButtonEnabled(true);

        /* Setting drawer in menu*/
        drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
        actionBarDrawerToggle = new ActionBarDrawerToggle(this,drawerLayout,R.string.drawer_open,R.string.drawer_close);

        drawerLayout.setDrawerListener(actionBarDrawerToggle);
        actionBarDrawerToggle.setDrawerIndicatorEnabled(true);
        actionBarDrawerToggle.syncState();

        fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.main_container,new HomeFragment());
        fragmentTransaction.commit();

        /* Accessing database getApplicationContext( */
        db = new SQLiteHandler(this);

        HashMap<String,String> user = db.getUserDetails();

        String id = user.get("id");
        String name = user.get("name");
        String email = user.get("email");

        Log.d("Soulsystem", name);
        Log.d("Soulsystem", email);

        /*Access navigation header here to set name and to call the attributes of header*/
        NavigationView navigationView = (NavigationView)findViewById(R.id.navigation_view);
        View header = navigationView.getHeaderView(0);

        uname = (TextView)header.findViewById(R.id.rahul);
            uname.setText(name);
        AppController.getInstance().setClientConsultancyDetails(id,name,email);

        profileImage = (ImageView)header.findViewById(R.id.navigation_view_Image);
        profileImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                profile();
            }
        });

        // session manager
        session = new SessionManager(getApplicationContext());

        if (!session.isLoggedIn()) {
            logoutUser();
        }

        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem item) {

                switch (item.getItemId()){

                    case R.id.contact:
                        contact();
                        break;

                    case R.id.logout:
                        logoutUser();
                       /* item.setChecked(true);
                        drawerLayout.closeDrawers();*/
                        break;
                }
                return true;
            }
        });
    }
    protected void onPostCreate(@Nullable Bundle savedInstanceState) {
        actionBarDrawerToggle.syncState();
        super.onPostCreate(savedInstanceState);
    }

    private void logoutUser() {
        session.setLogin(false);

        db.deleteUsers();
        Intent intent = new Intent(NavigationMenu.this, MainActivity.class);
        startActivity(intent);
    }

    //call to Profile image fragment
    private void profile(){
        Log.d("NavigationMenu", "In profile Image view");
        fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.main_container, new ClientProfile());
        fragmentTransaction.commit();
        drawerLayout.closeDrawers();
    }

    //call to Contact image fragment
    private void contact(){
        Log.d("NavigationMenu", "In profile Image view");
        fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.main_container, new Contact());
        fragmentTransaction.commit();
        drawerLayout.closeDrawers();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.drawe_menu, menu);
        return false;
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        MenuItem item= menu.findItem(R.menu.drawe_menu);
        item.setVisible(false);
        super.onPrepareOptionsMenu(menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
公共类导航菜单扩展了AppCompatActivity{
抽屉布局抽屉布局;
工具栏;
ActionBarDrawerToggle ActionBarDrawerToggle;
零碎交易零碎交易;
导航视图导航视图;
圆形图像圆形图像;
图像视图轮廓图像;
text查看电子邮件、邮件;
私有SQLiteHandler数据库;
私人会话管理器会话;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u navigation\u菜单);
toolbar=(toolbar)findviewbyd(R.id.toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
/*在菜单中设置抽屉*/
抽屉布局=(抽屉布局)findViewById(R.id.抽屉布局);
actionBarDrawerToggle=新actionBarDrawerToggle(此,抽屉布局,R.string.drawer\u打开,R.string.drawer\u关闭);
抽屉布局。setDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.setDrawerIndicatorEnabled(true);
actionBarDrawerToggle.syncState();
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.main_容器,new HomeFragment());
fragmentTransaction.commit();
/*正在访问数据库getApplicationContext(*/
db=新的SQLiteHandler(此);
HashMap user=db.getUserDetails();
String id=user.get(“id”);
字符串名称=user.get(“名称”);
字符串email=user.get(“email”);
Log.d(“灵魂系统”,名称);
Log.d(“灵魂系统”,电子邮件);
/*在此处访问导航标题以设置名称并调用标题的属性*/
NavigationView NavigationView=(NavigationView)findViewById(R.id.navigation\u视图);
视图标题=navigationView.getHeaderView(0);
uname=(TextView)header.findViewById(R.id.rahul);
uname.setText(名称);
AppController.getInstance().setClientConsultancyDetails(id、名称、电子邮件);
profileImage=(ImageView)header.findViewById(R.id.navigation\u view\u Image);
profileImage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
轮廓();
}
});
//会话管理器
session=newsessionmanager(getApplicationContext());
如果(!session.isLoggedIn()){
logoutUser();
}
navigationView.setNavigationItemSelectedListener(新建navigationView.OnNavigationItemSelectedListener()){
@凌驾
公共布尔值onNavigationItemSelected(MenuItem项){
开关(item.getItemId()){
案例R.id.联系人:
接触();
打破
案例R.id.注销:
logoutUser();
/*item.setChecked(真);
抽屉布局*/
打破
}
返回true;
}
});
}
后期创建时受保护的无效(@Nullable Bundle savedInstanceState){
actionBarDrawerToggle.syncState();
super.onPostCreate(savedInstanceState);
}
私有void logoutUser(){
session.setLogin(false);
db.deleteUsers();
意向意向=新意向(NavigationMenu.this,MainActivity.class);
星触觉(意向);
}
//调用配置文件图像片段
私有void配置文件(){
Log.d(“导航菜单”,“在纵断面图像视图中”);
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_容器,new ClientProfile());
fragmentTransaction.commit();
抽屉布局;
}
//调用联系人图像片段
私人无效联系人(){
Log.d(“导航菜单”,“在纵断面图像视图中”);
fragmentTransaction=getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_容器,新联系人());
fragmentTransaction.commit();
抽屉布局;
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单、抽屉菜单、菜单);
返回false;
}
@凌驾
公共布尔值OnPrepareOptions菜单(菜单){
MenuItem=menu.findItem(R.menu.drawer\u菜单);
项。设置可见(假);
super.onPrepareOptions菜单(菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
如果(actionBarDrawerToggle.onOptionsItemSelected(项目)){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}

尝试收听工具栏

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) 
               drawerLayout.openDrawer(GravityCompat.START);
            }
        }
    });