使导航抽屉中的某些项目禁用/不可选

时间:2014-10-23 17:44:39

标签: android navigation-drawer

我有一个导航抽屉,里面有几个项目。但是当我点击它时,我希望它们中的一些是不可选择的。 我已尝试更改适配器,但单击时仍会显示选择器。我也试图更改listview属性,但我找不到我想要的方法。

这个问题有解决办法吗?或者或许是另一种方式来实现它?任何教程将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

我过去做过的只是阻止在if语句中启动项目。没有理由隐藏它,除非你真的需要。您还可以更改项目颜色以使其看起来已禁用。

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView parent, View view, int position, long id) {

       int tempHold;
       tempHold=mSelectedItem;
       mSelectedItem=position;

        switch (position) {
        ...
        case 2:
            //For if no user is logged into app, do not launch
            if (userID.equals(getString(R.string.no_user_logged_on))) {
                Toast.makeText(this, getString(R.string.no_worklist_no_user), Toast.LENGTH_LONG).show();
                //reset your drawerSelector to previous item
                mSelectedItem=tempHold;
                break;
            }
            //Log.wtf("userID: ","\""+userID+"\"");
            fragmentCreator(position, param1, "");
            break;

        default:
            Toast.makeText(getApplicationContext(), "Position "+position+" not configured " +
                    "yet", Toast.LENGTH_LONG).show();
            break;
            }

        mDrawerLayout.closeDrawer(mDrawerLinear); //Close drawer after selection
    }
}