2010-10-11 20 views
0

Mes excuses à l'avance si c'est une question à répétition, j'ai regardé partout et je n'ai pas trouvé de solution pour m'aider.Android: Erreur lors de l'utilisation ListActivity dans la disposition de l'onglet

J'ai suivi le android dev tutorial pour créer une interface utilisateur à onglets qui utilise une activité distincte pour chaque onglet.

Et je l'ai fonctionné très bien. Jusqu'à ...

Je tente de mettre un ListView dans l'une des activités à onglets (Tab1). Pour obtenir la convivialité que je veux, je trouve que je dois étendre ListActivity. C'est quand je reçois l'erreur 'Force close'. Il affiche très bien quand je prolonge l'activité régulière.

Voici mon code non fonctionnel Tab1.java:

public class Tab1 extends ListActivity { 
    ListView lv; 
    String[] times = { 
     "7:00 AM", "8:00 AM", "9:00 AM", "10:00 AM", "11:00 AM", 
      "12:00 AM", "1:00 PM", "2:00 PM", "3:00 PM", "4:00 PM", 
      "5:00 PM", "6:00 PM", "7:00 PM" 
    }; 

    /** Called when the activity is first created. */@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tab1); 

     lv = (ListView) findViewById(R.id.ListView_Tab1); 
     lv.setAdapter(new ArrayAdapter <String> (this, R.layout.list_item, R.id.times, 
      times)); 
     lv.setOnItemClickListener(new OnItemClickListener() {@ 
      Override 
      public void onItemClick(AdapterView <? > parent, View view, 
       int position, long id) { 
       // When clicked, show a toast with the TextView text 
       Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
        Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 
+0

Je pense que vous n'avez pas 'ListView' dans votre' tab1.xml' contenant 'android: id = "@ android: id/liste" '. l'ID de votre ListView doit être '@android: id/list' lorsque vous utilisez un' ListActivity' – binnyb

Répondre

1

l'ID de votre ListView doit être @android:id/list lorsque vous utilisez un ListActivity

+0

Cela a fonctionné! Je vous remercie! J'utilisais un identifiant unique pour ma liste. Savez-vous pourquoi ListActivity autorise uniquement @android: id/list ?? – HappyGeisha

+0

je ne sais pas! Ha – binnyb

0

Est-ce que vous déclarez la nouvelle activité dans votre manifeste? Si vous tentez de créer un onglet pour une activité qui n'est pas déclarée, elle se bloquera.

+0

Oui, mon manifeste inclut les activités pour les deux onglets. Le projet s'affiche correctement lorsque Tab1 étend Activity mais se bloque lorsque j'étends ListActivity. – HappyGeisha

+0

Avez-vous le journal de l'accident? Pouvez-vous ajouter les mises en page? – jjb

+0

Mon problème a été résolu, Merci pour votre aide :) – HappyGeisha