Функция setVisibility в android studio studio java параметры - PullRequest
1 голос
/ 23 марта 2020

Я проверил документы android на setVisibility (). Он показывает, что

setVisibility (int value).

Итак, насколько я знаю, это означает, что setVisibility () принимает целочисленное значение в качестве входных данных. Но в одном из java кодов я обнаружил, что он записан как

setVisibility (view.Visible)

Это означает, что он принимает тип представления в качестве ввода. Но как это возможно. Я не могу понять логику c, стоящую за этим. Может кто-нибудь помочь разобраться в этом?

Ответы [ 2 ]

2 голосов
/ 23 марта 2020

Да, оно принимает целочисленное значение. Но внутренне он определил TypeDef параметров видимости со значениями VISIBLE, INVISIBLE и GONE. Все три параметра имеют внутреннее значение int (вам не нужно об этом беспокоиться).

Поэтому, когда вы передаете View.Visible, оно принимает внутреннее значение int этого значения.

И одна вещь, он определил TypeDef, так что вы можете передать значение как целое число, так же как и внутренне, но вы не можете передать другие значения.

Это значения типа int всех параметров:

VISIBLE = 0x00000000
INVISIBLE = 0x00000004
GONE = 0x00000008
1 голос
/ 23 марта 2020

Существует int аргумент setVisibility() метода

public void setVisibility(int visibility) {
        throw new RuntimeException("Stub!");
    }

Есть встроенный int этого Gone, invisible et c ...

    public static final int GONE = 8;
    public static final int INVISIBLE = 4;
    public static final int VISIBLE = 0;
...