2011-11-07 5 views
0

Je veux créer un listviewitem dans une liste d'activités. Le listviewitem sera un textview et une image.problème listviewitem avec imageview sur android

Mais j'ai un cas qu'il n'y a pas d'image à mettre dans l'image, je veux que le textview prenne l'ensemble listviewitem.

Je ne veux pas utiliser de dispositions XML différentes pour ces cas car j'ai le même problème mais avec 3 images (n des 3 peut être montré).

je besoin quelques exemples de code pour les vues d'image en ajoutant des dynamiques ....

aussi - J'utilise un adaptateur pour cette liste ...

Répondre

1

J'ai pas le temps de poster mon code, mais vous pouvez faire quelque chose comme ceci:

  1. Créer un élément Liste Mise en page en rapport o LinearLayout avec votre TextView et votre ImageView
  2. dans votre liste Adapter.getView vous devez gonfler votre article Mise en page, puis définissez la visibilit du ImageView y à GONE chaque fois que vous n'avez pas d'image.

ÉDITÉE:

Voici une mise en page à utiliser comme itemLayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
> 
<ImageView android:id="@+id/img_view" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
/> 
<TextView android:id="@+id/text_view" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
/> 
</LinearLayout> 
+0

OK ..... Si je textview avec 1 imageview et faire le imageview invisible - l'imageview utilisera-t-elle tout l'article? – Yoav

+0

Je viens d'ajouter la mise en page à utiliser comme mise en page d'article. Tenez compte du fait que Visibility.GONE n'est pas la même chose que Visibility.INVISIBLE, vous devez utiliser GONE. Avec cette disposition, si vous définissez img_view sur GONE, text_view utilisera toute la ligne de votre élément de liste. – Chiara

+0

Merci beaucoup ............... – Yoav

0
if(v==null) 
{ 

    v= generateView(Activity.this); 

} 

LinearLayout generateView(Context context){ 

    LinearLayout lay = new LinearLayout(context);  

    TextView tv = new TextView(context); 

    lay.AddView(tv); 

}