Java 使用ImageView OnClickListener打开自定义ListView菜单

Java 使用ImageView OnClickListener打开自定义ListView菜单,java,android,listview,android-studio,Java,Android,Listview,Android Studio,我是android studio的新手,我遇到了一个问题,在单击ImageView时无法打开自定义listview菜单。这是我目前掌握的代码。我已经试着让开关工作,但我做什么都没有帮助 main活动 final List<Nav> navList= new ArrayList<Nav>(); navList.add(new Nav("Profile")); navList.add(new Nav("Feed"));

我是android studio的新手,我遇到了一个问题,在单击ImageView时无法打开自定义listview菜单。这是我目前掌握的代码。我已经试着让开关工作,但我做什么都没有帮助

main活动

        final List<Nav> navList= new ArrayList<Nav>();
        navList.add(new Nav("Profile"));
        navList.add(new Nav("Feed"));
        navList.add(new Nav("Maps"));
        navList.add(new Nav("Most Popular"));
        navList.add(new Nav("Settings"));
        navList.add(new Nav("Report a Bug"));

        ArrayAdapter<Nav> navadapter = new ArrayAdapter<Nav>(this,android.R.layout.simple_list_item_1, navList);
        final ListView lv= (ListView) findViewById(left_drawer);
        lv.setAdapter(navadapter);

        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            int itemPosition = position;

                switch(itemPosition) {

                    case 0:
                        Intent menuItem = new Intent(MainActivity.this, UserProfileActivity.class);
                        startActivity(menuItem);
                        break;
                    case 1:
                        menuItem = new Intent(MainActivity.this, MainActivity.class);
                        startActivity(menuItem);
                        break;
                    case 2:
                        menuItem = new Intent(MainActivity.this, UserMapActivity.class);
                        startActivity(menuItem);
                        break;

                    case 3:
                        menuItem = new Intent(MainActivity.this, UserMapActivity.class);
                        startActivity(menuItem);
                        break;

                    case 4:
                        menuItem = new Intent(MainActivity.this, SettingsActivity.class);
                        startActivity(menuItem);
                        break;

                    case 5:
                        menuItem = new Intent(MainActivity.this, UserMapActivity.class);
                        startActivity(menuItem);
                        break;
                }
            }
        });

        navbut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                customListView1.toggle();
            }
        });

    }
final List navList=new ArrayList();
新增(新资产净值(“概要”);
新增(新资产净值(“Feed”);
新增(新导航(“地图”);
新增(新资产净值(“最受欢迎”);
添加(新导航(“设置”);
添加(新导航(“报告错误”);
ArrayAdapter navadapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,navList);
最终ListView lv=(ListView)findViewById(左抽屉);
lv.设置适配器(导航适配器);
lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
int itemPosition=位置;
开关(位置){
案例0:
Intent menuItem=新的Intent(MainActivity.this、UserProfileActivity.class);
星触觉(menuItem);
打破
案例1:
menuItem=新意图(MainActivity.this、MainActivity.class);
星触觉(menuItem);
打破
案例2:
menuItem=新意图(MainActivity.this、UserMapActivity.class);
星触觉(menuItem);
打破
案例3:
menuItem=新意图(MainActivity.this、UserMapActivity.class);
星触觉(menuItem);
打破
案例4:
menuItem=新意图(MainActivity.this,SettingsActivity.class);
星触觉(menuItem);
打破
案例5:
menuItem=新意图(MainActivity.this、UserMapActivity.class);
星触觉(menuItem);
打破
}
}
});
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
customListView1.toggle();
}
});
}

我一直在玩弄这些代码,下面的代码很有效:

navbut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
                drawer.openDrawer(GravityCompat.START);
            }
        });