Android 向导航菜单项添加操作(不可单击)
我已经在我的活动上完成了手动导航抽屉,完成了xml菜单,并添加了NavigationView.OnNavigationItemSelectedListener作为界面,但是我的菜单项仍然不可单击。 下面是代码Android 向导航菜单项添加操作(不可单击),android,menu,navigation,items,Android,Menu,Navigation,Items,我已经在我的活动上完成了手动导航抽屉,完成了xml菜单,并添加了NavigationView.OnNavigationItemSelectedListener作为界面,但是我的菜单项仍然不可单击。 下面是代码 package project.senior.health; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bund
package project.senior.health;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.NavigationView;
import android.support.design.widget.Snackbar;
import android.support.v4.view.GravityCompat;
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.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import com.backendless.Backendless;
import com.backendless.exceptions.BackendlessFault;
public class LoginSuccessActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener
{
private Button logoutButton;
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mToggle;
private Toolbar mToolbar;
public void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
setContentView( R.layout.login_success );
mDrawerLayout=(DrawerLayout) findViewById(R.id.drawerLayout);
mToggle= new ActionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
mDrawerLayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ImageButton simpleImageButton = (ImageButton)findViewById(R.id.imageButton2);
simpleImageButton.setImageResource(R.drawable.i4);
simpleImageButton.setBackgroundColor(Color.TRANSPARENT);
ImageButton simpleImageButton1 = (ImageButton)findViewById(R.id.imageButton3);
simpleImageButton1.setImageResource(R.drawable.i3);
simpleImageButton1.setBackgroundColor(Color.TRANSPARENT);
ImageButton simpleImageButton2 = (ImageButton)findViewById(R.id.imageButton4);
simpleImageButton2.setImageResource(R.drawable.i2);
simpleImageButton2.setBackgroundColor(Color.TRANSPARENT);
initUI();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (mToggle.onOptionsItemSelected(item))
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.Profile) {
// Handle the camera action
} else if (id == R.id.Nutrition) {
} else if (id == R.id.Workouts) {
startActivity(new Intent(LoginSuccessActivity.this, BuildTabbedAct.class));
} else if (id == R.id.Friends) {
} else if (id == R.id.Search) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawerLayout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
private void initUI()
{
// logoutButton = (Button) findViewById( R.id.logoutButton );
//
// logoutButton.setOnClickListener( new View.OnClickListener()
// {
// @Override
// public void onClick( View view )
// {
// onLogoutButtonClicked();
// }
// } );
}
private void onLogoutButtonClicked()
{
Backendless.UserService.logout( new DefaultCallback<Void>( this )
{
@Override
public void handleResponse( Void response )
{
super.handleResponse( response );
startActivity( new Intent( LoginSuccessActivity.this, LoginActivity.class ) );
finish();
}
@Override
public void handleFault( BackendlessFault fault )
{
if( fault.getCode().equals( "3023" ) ) // Unable to logout: not logged in (session expired, etc.)
handleResponse( null );
else
super.handleFault( fault );
}
} );
}
public void profile(View v){
startActivity(new Intent(LoginSuccessActivity.this, test.class));
}
public void nutrition(View v){
startActivity(new Intent(LoginSuccessActivity.this, test.class));
}
public void build(View v){
startActivity(new Intent(LoginSuccessActivity.this, BuildTabbedAct.class));
}
public void lose(View v){
startActivity(new Intent(LoginSuccessActivity.this, test.class));
}
}
package project.senior.health;
导入android.app.Activity;
导入android.content.Intent;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.NavigationView;
导入android.support.design.widget.Snackbar;
导入android.support.v4.view.GravityCompat;
导入android.support.v4.widget.DrawerLayout;
导入android.support.v7.app.ActionBarDrawerToggle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ImageButton;
导入com.backfundle.backfundle;
导入com.backendless.exceptions.BackendlessFault;
公共类LoginSAccessActivity扩展AppCompatActivity实现NavigationView.OnNavigationItemSelectedListener
{
私人按钮注销按钮;
私人抽屉布局mDrawerLayout;
私人行动bardrawertoggle mtogle;
私有工具栏mToolbar;
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login\u成功);
mDrawerLayout=(抽屉布局)findViewById(R.id.DroperLayout);
mToggle=newactionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
mDrawerLayout.addDrawerListener(MTOGLE);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ImageButton SimpleImage按钮=(ImageButton)findViewById(R.id.imageButton2);
setImageResource(R.drawable.i4);
simpleImageButton.setBackgroundColor(Color.TRANSPARENT);
ImageButton simpleImageButton1=(ImageButton)findViewById(R.id.imageButton3);
SimpleMapgeButton1.setImageResource(R.drawable.i3);
SimpleImage按钮1.setBackgroundColor(颜色:透明);
ImageButton simpleImageButton2=(ImageButton)findViewById(R.id.imageButton4);
SimpleMapgeButton2.setImageResource(R.drawable.i2);
SimpleImage按钮2.setBackgroundColor(颜色:透明);
initUI();
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
int id=item.getItemId();
如果(MTOGLE.onOptionsItemSelected(项目))
//noinspection SimplifiableIf语句
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
@SuppressWarnings(“StatementWithEmptyBody”)
@凌驾
公共布尔值onNavigationItemSelected(MenuItem项){
//处理导航视图项单击此处。
int id=item.getItemId();
if(id==R.id.Profile){
//处理相机的动作
}else if(id==R.id.Nutrition){
}否则如果(id==R.id.训练){
startActivity(新意图(loginsAccessActivity.this、BuildTabbedAct.class));
}else if(id==R.id.Friends){
}else if(id==R.id.Search){
}
抽屉布局抽屉=(抽屉布局)findViewById(R.id.DrawerLayout);
抽屉。关闭抽屉(重力压缩机启动);
返回true;
}
私有void initUI()
{
//logoutButton=(按钮)findViewById(R.id.logoutButton);
//
//logoutButton.setOnClickListener(新视图.OnClickListener()
// {
//@覆盖
//公共void onClick(视图)
// {
//onLogoutButtonClicked();
// }
// } );
}
私有void onLogoutButtonClicked()
{
backfundle.UserService.logout(新的DefaultCallback(此)
{
@凌驾
公共无效处理响应(无效响应)
{
超级HandlerResponse(响应);
startActivity(新意图(LoginAccessActivity.this、LoginActivity.class));
完成();
}
@凌驾
公共无效手柄故障(后端故障故障)
{
if(fault.getCode().equals(“3023”)//无法注销:未登录(会话已过期等)
HandlerResponse(空);
其他的
超级手柄故障(故障);
}
} );
}
公共空间剖面图(视图五){
startActivity(新意图(loginsAccessActivity.this、test.class));
}
公共营养(视图五){
startActivity(新意图(loginsAccessActivity.this、test.class));
}
公共void生成(视图v){
startActivity(新意图(loginsAccessActivity.this、BuildTabbedAct.class));
}
公共空间丢失(视图五){
startActivity(新意图(loginsAccessActivity.this、test.class));
}
}
我只测试1个意图,该项目的id是正确的,有什么想法或提示吗?谢谢 我看到您实现了NavigationView.OnNavigationItemSelectedListener,但您没有向活动注册listener(例如:NavigationView.setNavigationItemSelectedListener(this))。请检查这个