首页 > 解决方案 > 如何在特定项目上启用/禁用 ListView onItemClickListener?

问题描述

我正在设计一个游戏,玩家必须按顺序完成关卡才能进入下一个关卡。有没有办法实现这个?

我已经在我的自定义 ListAdapter 中尝试过这个

@Override
public boolean isEnabled(int position) {
   if(position==0){ return true;}
   else{return  false;}

}

但我无法找到一种方法来处理不止一个级别。

标签: javaandroidlistview

解决方案


你可以通过下面的代码来做到这一点setOnItemClicklistener()

ListView listview = (ListView) findViewById(R.id.listview);

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (listview.getChildAt(position).isEnabled()) {
                    listview.getChildAt(position).setEnabled(false);
                }
            }
        }); 

推荐阅读