Enum оценивается как ноль в android студийном отладчике - PullRequest
0 голосов
/ 25 февраля 2020

У меня возникла странная проблема с перечислениями в моем Android проекте. Я много искал и не придумал ничего похожего на то, что вижу. Вот проблема: я создал новый проект android и заметил, что мое приложение упало при перечислении. При расследовании кажется, что везде я использую перечисление, которое оно оценивает как нулевое в отладчике. Я сделал простой пример, чтобы продемонстрировать то, что я вижу:

public class foo
{
    public enum fdsa {
        one,
        two,
        three
    }

   public foo() {
        fdsa state;
        state = fdsa.two;

        switch (state) {
            case one:
                Toast.makeText(mAsdfView.getContext(), "one called", Toast.LENGTH_SHORT).show();
                break;

            case two:
                Toast.makeText(mAsdfView.getContext(), "two called", Toast.LENGTH_SHORT).show();

                break;

        }

enter image description here

Когда я ставлю точку останова на втором случае и наводим курсор на enum, это показывает как нуль. Это делается для каждого перечисления, которое я использую в проекте.

Я не знаю, как поступить. Enums отлично работали в проекте, который я использовал в качестве основы для этого. Я думаю, что это может быть отключение или что-то? У меня есть отладчик, но я не знаю достаточно, чтобы добиться успеха, используя его. Надеемся, у кого-нибудь есть какие-либо советы или советы о том, как действовать?

1 Ответ

2 голосов
/ 25 февраля 2020

Вы наводите курсор на оператор case, а не на саму переменную enum (которая равна state). Это не переменная, поэтому я не уверен, почему отладчик показывает что-нибудь здесь - это похоже на ошибку - но он должен показывать правильное значение, если вы проверяете state вместо two.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...