2012-05-11 1 views
0

J'ai un tabhost avec 4 onglets. Chaque onglet a plusieurs editboxes. Sur un périphérique réel 2.1 et dans un émulateur, je peux sélectionner n'importe quelle zone d'édition et y insérer des valeurs. Mais dans 2.3 émulateur et périphérique réel - seules les cases d'édition du 4ème onglet sont sélectionnables ... onglet 1 - disposition relative onglet 2-4 - dispositions de table. Editboxes ont des propriétés similaires ... Je ne vois pas de différence entre editbox sur les onglets 3 et 4, mais le comportement est différent.Impossible de sélectionner la zone d'édition dans l'émulateur/périphérique réel plus

Remarques: 2.1 est un appareil 800x480 (paysage) 2.3 est 1024x768 dispositif (paysage) Je styles pour les mêmes - pour boîtes texte les deux cas ...

Quelqu'un sait-il ce qui peut causer cette situation? Juste En plus: Juste noté que dans l'émulateur 2.1 - si je clique sur les contrôles dans les onglets 1-3 tout est ok. Mais si je g à tab4 et puis de nouveau à n'importe quel onglet - les editboxes ne peuvent pas être sélectionnés sur l'un des onglets 1-3 (premier est "sélectionné" mais sans aucune réponse) - même que dans 2.3 (mais ces champs ne sont pas modifiables dès le début...). Et aussi l'onglet 4 fonctionne, mais pas le reste ... totalement comme dans 2.3

Mise à jour: J'ai un fichier de disposition distinct pour chaque onglet, ceux-ci sont inclus dans la mise en page principale via "include layout" ({include layout = "@ layout/tab_1_main" /}, {include layout = "@ layout/tab_2_main"}, etc). Seulement dans la dernière disposition "incluse" les contrôles sont éditables dans 2.3 - dans d'autres pas. Si les lignes "include" sont mélangées (c'est-à-dire {layout layout = "@ layout/tab_2_main" /} devient alors la dernière ligne), l'onglet 2 est le seul onglet où les commandes sont éditables ...

Répondre

1

On dirait que c'est résolu.

Le « inclus » mises en page ont eu l'id (marqué en gras) mis sur le « TableLayout » niveau

<merge xmlns:android="http://schemas.android.com/apk/res/android"> 
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      **android:id="@+id/layoutTab2"** 
       android:scrollbars="none"> 
     <TableLayout 
      android:layout_width="fill_parent" 

il semble que Android 2.3 ne pouvait pas « activer » ces mises en page quand ils ont été présentés au utilisateur. Lorsque j'ai déplacé l'ID au niveau supérieur (scrollview) dans chaque ma disposition pour onglet - le problème a été résolu.

Questions connexes