Android 当我点击时,汉堡包不起作用。我得拖拽菜单
这是我实现抽屉和工具栏的主要活动。我已经在堆栈上尝试了所有可能的解决方案。我没有使用汉堡包图像 我创建了导航视图并将其添加到我的xml中: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
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);
}
}
});