android - Android 中的 ListView ?

标签 android android-listview

我正在用 android 开发一个游戏应用程序。在我的应用程序中,我将级别和添加的级别作为 ListView 。
现在我需要在达到关卡目标后锁定关卡。我不知道该怎么做。如何在 android 中锁定 listview。通过使用以下内容,我正在填充列表并通过。

        mainListView = (ListView) findViewById(R.id.mainListView);
        // mainListView.setSelection(0);
        String[] levels = new String[] { "Level-1", "Level-2", "Level-3",
                "Level-4", "Level-5", "Level-6" };
        ArrayList<String> levelList = new ArrayList<String>();
        levelList.addAll(Arrays.asList(levels));

        listAdapter = new ArrayAdapter<String>(this, R.layout.simple, levelList);

        mainListView.setAdapter(listAdapter);
        getlevelFromDb();
        mainListView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> myAdapter, View myView,
                    int myItemInt, long mylng) {
                String level = (String) (mainListView
                        .getItemAtPosition(myItemInt));
                Intent intent = new Intent(LevelsActivity.this,
                        QuestionActivity.class);
                intent.putExtra("level", level);
                startActivity(intent);

            }
        });

最佳答案

在这种情况下,我基本上会有一个与级别数组平行的 bool 数组(某种类型,有很多方法可以实现这些类型的值)。要阻止它们被操作,您可以在操作本身(onItemClick)中检查这个 bool 数组。通过这种方式,您只能在看到 true 时才采取行动,什么也不做,或者提出一个小观点,说明他们还没有做到那么远,或者如果数组状态为 false 则采取其他措施。

当他们通过关卡时,您可以简单地将真值应用到下一个关卡, ListView 中的项目的操作应该会自动启动。

如果您想将尚未解锁的关卡显示为灰色,那么您必须为 ListView 实现一个自定义的 ArrayAdapter!!!

关于android - Android 中的 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083200/

相关文章:

java - 闹钟服务安卓不工作

java - 删除 CustomArrayAdapter 内 ListView 上的项目

android - 在两个 TableRow 之间插入一个或多个新的 TableRow

android - 如何重置 MetaWear 设备?

android - ListView 分隔线的默认颜色是什么?

android - 单击按钮时显示 ListView

android - OnItemSelectedListener.onNothingSelected 是否被调用了?

android - 添加新行时如何调整 ListView 的大小?

java - 解码作为 json 响应返回的 html - android

android - 单击按钮后如何禁用按钮