有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何在安卓 studio中返回setOnItemClickListener中的函数?

我想为项onClickListener内的开关内的函数返回布尔值。我到底要怎么做? 这是我的代码:

public void testForItemClick()
    {
        final Cursor cursor = myDb.getAllData("Main_Values");
        cursor.moveToFirst();
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
                Celebrity celebrity = unpurchasedCelebrities.get(position);
                int money = cursor.getInt(1);
                if (money < celebrity.getPrice())
                    showPurchaseSnackbar("$TooExpensive");
                else
                {
                    switch (celebrity.getCharacteristic()) {
                        case "c":
                            myDb.updateCelebrity(celebrity, 4, true);
                            money = money - celebrity.getPrice();
                            myDb.updateValues("MONEY", money);
                            cursor.moveToNext();

                            int moneyPerClick = cursor.getInt(1);
                            moneyPerClick = moneyPerClick + celebrity.getIncrease();
                            myDb.updateValues("MONEY_PER_CLICK", moneyPerClick);
                            break;

                        case "s":
                            myDb.updateCelebrity(celebrity, 4, true);
                            money = money - celebrity.getPrice();
                            myDb.updateValues("MONEY", money);
                            cursor.moveToNext();

                            cursor.moveToNext();
                            int moneyPerSec = cursor.getInt(1);
                            moneyPerSec = moneyPerSec + celebrity.getIncrease();
                            myDb.updateValues("MONEY_PER_SEC", moneyPerSec);
                            break;

                        case "p":
                            showPrestigeWarning(celebrity);
                            showCelebrities();
                            showPurchaseSnackbar(celebrity.getName());
                            break;
                    }
                }
            }
        });
    }

我这么做只是因为我的开关内部的断路器坏了。如果您有其他解决方案,请转发给我们


共 (1) 个答案

  1. # 1 楼答案

    创建一个本地boolean并在setOnItemClickListener中设置或更改它,而不是返回