2011-10-11 3 views
3

J'ai vue qui comprennent un autre avec le composant « include » (voir http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html)
Il y a un certain EditText dans la vue included.comportement étrange avec EditText intérieur <include> tag

Il y a quelques problèmes avec ces EditText:

  • je dois les taper 2 fois afin d'avoir le clavier pour apparaître
  • si je appuyez longuement sur l'un des EditText le gel de l'application et de crash (uniquement sur mon téléphone - Samsung Galaxy S, pas sur l'émulateur)

Il ne se produit pas si le EditText sont pas dans une balise <include> ...
avez-vous des idées sur ce problème ??

Cordialement, Christophe

+0

Avez-vous par hasard inclus la même mise en page deux fois dans le même fichier XML (avez-vous deux édits avec le même ID)? – Maximus

+0

Je vérifie juste, les identifiants sont uniques et la disposition est seulement incluse une fois. –

+0

postez votre xml pour les deux * compris * et * inclus * mises en page – Merlin

Répondre

16

J'ai le même problème au sujet de clic long EditText ou accident TextView sur l'appareil Samsung avec Android 4.0 vers le haut.

Le journal crash ici

java.lang.ArithmeticException: divide by zero 
at android.widget.TextView$SelectionActionModeCallback.onCreateActionMode(TextView.java:10647) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2382) 
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2322) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571) 
at android.view.View.startActionMode(View.java:3687) 
at android.widget.TextView.startSelectionActionMode(TextView.java:10451) 
at android.widget.TextView.performLongClick(TextView.java:9570) 
at android.view.View$CheckForLongPress.run(View.java:14241) 
at android.os.Handler.handleCallback(Handler.java:605) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4507) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
at dalvik.system.NativeStart.main(Native Method) 
@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error 

C'est parce que quand vous clic long sur le texte, le système Samsung sélectionner le texte pour mettre en évidence et utiliser onCreateActionMode() pour afficher couper, copier, coller bouton etc.

Si vous êtes sous Android 4.0, , il s'affichera sur ActionBar et utilisera le style de thème ActionBar dans le fichier style.xml de votre application. Et je trouve mon

"@android:style/Widget.Holo.ActionButton" 

ensemble minWidth à zéro, cause de la position de bouton d'action calculate système samsung a entraîné

java.lang.ArithmeticException: divide by zero 

Enfin mis minWidth à zéro, le problème résolu.

+0

même problème ici, comment exactement pouvez-vous définir minWidth à zéro? –

+0

Ça fonctionne bien. Merci Daniel. – user1182217

+0

Grande trouvaille. Merci – Eduard

2

Je voulais commenter la réponse donnée ci-dessous (https://stackoverflow.com/a/11966733/1777346) mais je n'ai pas encore assez de points de réputation!

Nous avons également rencontré la même exception "java.lang.ArithmeticException: diviser par zéro" sur les appareils Samsung (n'a pas testé d'autres appareils .. tous les Samsung). Cela se produirait lors de l'appui long d'un texte existant dans un champ EditText.

La solution ci-dessous a fonctionné .. nous avions le style suivant défini. La modification de minWidth à "1" a corrigé ce problème.

<style name="ActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton"> 
    <item name="android:minWidth">0dp</item> 
+0

Cette réponse me dit exactement où réparer, merci beaucoup. –