J'ai un problème très intéressant. J'utilise inAppBrowser et spinner dans une de mes applications Android. Spinner est implémenté avec ProgressDialog
. Le problème ici est que lorsque j'essaie d'ouvrir une page Web via InBrowser et que le spinner de chargement commence à charger une fois que la page commence à charger et se ferme une fois le chargement de la page terminé, lorsque je tape sur le champ de saisie de cette page tapez des lettres ou des chiffres, il reste simplement dans cet état dit "verrouillé". Si je tape quelque chose je ne peux pas les voir, le curseur continue de clignoter. Pour rendre cela encore plus bizarre, je suis capable de taper des caractères spéciaux. Si je tape à un autre endroit autour de la page, puis appuyez à nouveau sur ce même champ de saisie, alors cela fonctionne. Un autre cas où cela fonctionne est lorsque je mets l'application en état Pause et ensuite le reprendre, les champs de saisie fonctionnent.Impossible de taper dans le champ de saisie après le chargement d'une page avec InAppBrowser et le chargement de spinner
Ce problème se produit uniquement sur les plates-formes Android de version 5.0.1 et antérieures.
Le fichier java inAppBrowser peut être trouvé dans Github au InAppBrowser java file.
Ma mise en œuvre de spinner est le suivant:
spinner = new ProgressDialog(cordova.getActivity());
spinner.setIndeterminate(false);
spinner.setProgressStyle(ProgressDialog.STYLE_SPINNER);
spinner.setCancelable(false);
spinner.setMessage(cordova.getActivity().getText(R.string.spinner_loading));
spinner.setTitle("");
et j'afficher/masquer une fileuse avec la manière suivante:
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
//InAppBrowser default code....
try {
JSONObject obj = new JSONObject();
obj.put("type", LOAD_START_EVENT);
obj.put("url", newloc);
sendUpdate(obj, true);
} catch (JSONException ex) {
Log.d(LOG_TAG, "Should never happen");
}
spinner.show();
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
try {
JSONObject obj = new JSONObject();
obj.put("type", LOAD_STOP_EVENT);
obj.put("url", url);
sendUpdate(obj, true);
} catch (JSONException ex) {
Log.d(LOG_TAG, "Should never happen");
}
spinner.hide();
}
Quel pourrait être le problème ici? Tous les conseils, suggestions seraient appréciés.
Pourriez-vous déboguer l'application dans l'appareil à l'aide de l'inspecteur de chrome et vérifier s'il y a une erreur dans la console? – Gandhi
@Gandhi: Je l'ai déjà réparé, merci pour le commentaire. –