Vous vous demandez s'il existe un moyen de générer et de déclencher un événement (par exemple sur un événement click) dans les applications android par programme.déclencher un événement par code dans android
Merci.
désolé, il semble question ne suffit pas claire, laissez-moi vous expliquer un peu plus:
- J'ai une activité (permet de l'appeler A) avec plusieurs vues (5 ImageView par exemple).
- Et une classe Java normale (appelons-la B) qui est utilisée par mon activité.
- Il existe une instance de B dans mon activité.
- Si l'utilisateur clique sur une vue (vue image), la vue OnClickListener appelle une méthode dans B
- Dans B, si l'opération réussit, il rappelle une méthode en activité à nouveau. En mode d'activité, il changera l'image ou l'état pour ImageView cliqué.
dans d'autre part:
cliquez sur Affichage (x) Activité -------> B.doSomething() --------> A.bIsDone() -----> changer l'image pour la vue (x)
avec l'exécution normale, son fonctionnement et il n'y a aucun problème.
le problème est que je veux simuler ce processus pour être automatique, mon code ressemble à ceci:
while (!b.isFinished()) {
try {
b.doSomething(<for View x>);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Le problème est que, il ne rien rendre, jusqu'à la fin de la boucle.
J'ai essayé de mettre la boucle dans un autre thread, mais son lancement exception:
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
Que puis-je faire pour ce problème? Je pensais générer un événement click sur vue (par code), pour voir ça peut aider ou non.
Quelle est votre solution? Merci
Ma question portait sur l'événement de construction et de tir, ne pas les manipuler. – mhshams
@mohammad, de quoi parlez-vous? 'onKeyUp, onKeyDown' gère les messages,' dispatchKeyEvent' est utilisé pour déclencher un événement. Peut-être que vous devriez mieux parler de votre problème. – st0le
@mohammad, 'View.performClick' peut simuler un clic. Si un clic est tout ce que vous cherchez. – st0le