Метод внутри runOnUiThread - PullRequest
       2

Метод внутри runOnUiThread

0 голосов
/ 04 августа 2020

Я только начал изучать Java и Android несколько недель go, и у меня возникли проблемы, пытаясь понять приведенный ниже код.

runOnUiThread(new Runnable() {

    Runnable setData(String _denso, String _data) {
        denso = _denso;
        data = _data;
        return this;
    }
    @Override
    public void run() {

    }
}.setData(data.getSymbologyDenso(), data.getData())

Часть, у меня проблемы понимание того, как работает метод setData, почему его можно использовать после блока инициализации экземпляра. Было бы полезно, если бы кто-нибудь помог мне разобраться в этой части кода.

1 Ответ

0 голосов
/ 04 августа 2020

Вы создаете экземпляр анонимного класса, а затем вызываете метод setData для указанного экземпляра. setData возвращает сам экземпляр, который, в свою очередь, передается в качестве аргумента runOnUiThread.

В любом случае, похоже, что setData возвращает this только для того, чтобы свести концы с концами: я не думаю это хорошее решение. Если вам нужно инициализировать этот Runnable, может быть хорошей идеей сделать его (возможно, внутренний) класс с правильным конструктором.

PS: вы должны следовать Java кодовым соглашениям (не используйте подчеркивание в качестве первого символа параметра).

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