DrawerLayout OnClickListener 不触发

DrawerLayout OnClickListener Not Triggering

我正在使用 Android DrawerLayout 并有一个包含我的抽屉项目的列表视图。

我正在尝试实现 OnClickListener 但无济于事,Toast 未触发:

mDrawerList = (ListView) findViewById(R.id.left_drawer);
    ArrayList<String> drawerTitleArray = new ArrayList<>();
    drawerTitleArray.add(0, "TEST");
    drawerTitleArray.add(1, "TEST 1");
    // Set the adapter for the list view
    mDrawerList.setAdapter(new ArrayAdapter<>(this,
            R.layout.drawer_list_item,
            drawerTitleArray));
    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            switch (adapterView.getId()){
                case 0:
                    Toast.makeText(getApplicationContext(),"CLICKED 0",Toast.LENGTH_SHORT).show();
            }
        }
    });

问题出在 switch 表达式中。 adapterView.getId() 将 return ListViewView ID,对确定单击的项目没有任何用处。

您想切换项目在列表中的位置,它作为 onItemClick() 中的第三个参数传递。它在您的代码段中被命名为 i,但通常被命名为 position,这样可以提供更多信息。