Отправляет email-рассылки с помощью сервиса Sendsay

За 2021-07-11

[prg] Re[8]: ACTION_CLICK для виртуального View was: Исходники к книге Android A

Приветствую всех!

> что значит вместо onClick использовать
> интенты? Если Вы про action_VIEW ...

Верно, речь об ACTION_VIEW, то есть вместо
> spans[virtualViewId].onClick(MyView.this);

использовать что-то типа (создайте нужный вам интент;здесь просто запуск
браузера с указанной uri):
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(spans[virtualViewId].getText().toString()));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(i);

> 2. метод performAccessibilityAction не вызывается для action_click.

Возможно, вас заинтересует подраздел "Handle custom touch events" (ну и
остальной материал на странице тоже):
https://developer.android.com/guide/topics/ui/accessibility/custom-views

Успехов. Анатолий.

   i_chay 2021-07-11 11:45:49 (#3673387)

[prg] Re[7]: ACTION_CLICK для виртуального View was: Исходники к книге Android A

Здравствуйте Анатолий. Вы писали
> Во-вторых, речь шла о том, чтобы вместо .onClick() использовать интенты.
Я просто Вас не совсем понимаю,что значит вместо onClick использовать
интенты? Если Вы про action_VIEW в моей activity,т.е тот случай с quest
player,где Вы мне здорово помогли,за что Вам огромное спасибо,так у меня
этот код работает и на четвёртом андроиде. Если Вы про другое,тогда
поясните пожалуйста,что Вы имеете ввиду. Ещё Вы пишете
> вы хотите мне доказать,
> что ваш код правильный и потому ничего из предложенного вы делать не
> будите?

Нет,я просто хочу показать,что часть из предложенного Вами я делаю и у
меня есть результаты:

1. Talkback корректно фокусируется на нужном узле.

2. метод performAccessibilityAction не вызывается для action_click.

3. Метод performClick не всегда вызывается.

4. При касании ссылки и клике на неё клик отрабатывает,но actionClick
вроде тоже не вызывается.

Поэтому я делаю то,что Вы мне советуете. Только ещё вопрос как
определить неявную рекурсию?

Кстати когда очень много ссылок,хотя у меня все виртуальные view имеют
один и тот же rect в качестве boundsInScreen,на 11-м андроиде перед
фокусировкой на одно из виртуальных view у меня происходит задержка
перед тем,как на него попадёт фокус. Благодаря отладке я проверил,что у
меня,хоть я и удалил этот action,вызывается action

AccessibilityNodeInfo.AccessibilityAction.ACTION_SHOW_ON_SCREEN перед action accessibility_focus. Правда я не
понимаю,какой алгоритм мне использовать для этого action. Возможно нужно
послать событие прокрутки,только какие значения полей нужно вписывать в
это событие.

   2021-07-11 03:32:53 (#3673383)