2010-11-11 42 views
0

Je développe une application avec des onglets. Sur l'un des onglets, j'ai deux champs EditText et quelques boutons. Je veux ajouter un ExpandableListView à l'onglet, ci-dessous le reste des éléments.Ajouter ExpandableListView à un onglet avec d'autres éléments

Mon problème est que la classe actuelle étend l'activité. Tout l'exemple que j'ai trouvé étend ExpandableListActivity, mais je ne peux pas étendre les deux pour la même classe.

Comment puis-je ajouter cette liste à l'onglet? J'ai ajouté un élément ExpandableListView dans le fichier XML, mais chaque fois que je l'exécute, il n'apparaît pas. Je comprends que je dois lier la vue à certaines données, mais comment puis-je faire cela? Merci.

Voici mon code de classe:

public class DirectionsTab étend l'activité {private Button clear_btn; privé Button go_btn; private EditText origin_txt; édition privée dest_txt; Public void onCreate (Bundle savedInstanceState) ( ) setContentView (R.layout.directions_tab);

// initialize views and onClick event handler 
    origin_txt = (EditText)findViewById(R.id.origin_txt); 
    dest_txt = (EditText)findViewById(R.id.dest_txt); 
    clear_btn = (Button)findViewById(R.id.clear_btn); 
    // clear all text fields and return focus to dest_txt 
    clear_btn.setOnClickListener(new OnClickListener() 
    { 
@Override 
public void onClick(View v) 
{ 
origin_txt.setText(""); 
dest_txt.setText(""); 
origin_txt.requestFocus(); 
}  
    });   
} // end public void onCreate(Bundle savedInstanceState) 

} // fin classe publique DirectionsTab étend l'activité

et XML:

<TextView 
    android:id="@+id/dest_lbl" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/origin_txt" 
    android:text="Destination" 
/> 
<EditText 
    android:id="@+id/dest_txt" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:drawable/editbox_background" 
    android:layout_below="@id/dest_lbl" 
/>  

<ExpandableListView 
android:id="@+id/listView"  
android:layout_below="@+id/dest_txt" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 

/>

android: lay out_width = "wrap_content" android: layout_height = "wrap_content" android: layout_below = "@ id/dest_txt" android: layout_alignParentRight = "true" android: layout_marginLeft = "10dip"
android: layout_marginTop = "10dip" android: text = "Effacer" /> android: layout_toLeftOf = "@ id/clear_btn" android: layout_alignTop = "@ id/clear_btn" android: "Go" text = />

Répondre

1

J'ai compris! Si quelqu'un a des problèmes avec cela, assurez-vous que vous suivez ces étapes:

  1. Copiez et collez ExpandableList3 exemple (situé dans le projet de ApiDemos du dossier Samples dans votre SDK Android). Ceci est juste un bon exemple de la façon de mettre en place une liste.
  2. Faites votre classe hériteront de ExpandableListActivity
  3. Créer ce qui suit dans votre fichier de configuration XML:

    <ExpandableListView 
    android:id="@android:id/list"  
    android:layout_below="@+id/go_btn" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1"   
    

    />

Il est très important que les matches de propriété ID ce que vous voyez ci-dessus, sinon rien ne marchera. Ce petit détail gaspillé beaucoup d'heures pour moi, et a été découvert asseyant soigneusement comme un petit détail dans les docs Android.