2016-04-28 11 views
0

Ich arbeite an Listview mit Viewflipper in jeder Zelle. Jetzt neigt Viewflipper dazu, das Bild nach jeweils 2 Sekunden zu spiegeln. In meinem Adapter habe ich das Halterkonzept verwendet, aber in jedem Halter befindet sich ein Viewflipper, der dynamische Bildansichten hinzufügt. Ich bin mir sicher, dass dies der Punkt ist, der es nicht zulässt, dass Listview sanft scrollt. Dies ist die Funktion, die ich verwende, um Bilder in meinem Halter zu setzen:Listview nicht reibungslos mit Viewflipper in jeder Zelle

viewflipper.removeAllViews(); 
LinearLayout.LayoutParams flip_pams= new LinearLayout.LayoutParams((int)(width*0.18), (int)(width*0.18)); 

if(!TextUtils.isEmpty(pics)){ 
    String[] picarray= pics.split(", "); 
    for(String pic: picarray){ 
     if(!dp.equals("")){ 
      ImageView image = new ImageView(con); 
      image.setLayoutParams(flip_pams); 
      imageLoader.displayImage(pic, image, options); 

      viewflipper.addView(image); 
     } 
    } 

    if(picarray.length>1){ 
     viewflipper.startFlipping(); 
    } 
} 

Was kann ich tun, um es zu verbessern? Oder gibt es eine Alternative anstelle von Viewflipper? P.S: Ich weiß, dass wir nicht layoutparams in den Halter von listview setzen sollten, zweitens hinzufügen dynamische Bildansichten sind auch ein Durcheinander. Aber ich konnte keine andere Alternative finden.

+0

Warum verwenden Sie nicht _ViewPager_? – Piyush

+0

Da ist Voraussetzung, die Bilder innerhalb jeder Zelle automatisch zu scrollen. Daher wurde Viewflipper verwendet. –

+0

Noppen. Naja, aber wenn Bilder pro Zelle zunehmen oder wenn ihr HTC Gerät. Es ist nicht glatt –

Antwort

0

Versuchen Sie diesen Weg;

public View getView(int position, View convertView, ViewGroup parent) { 

final ViewFlipper viewflipper; 

if (convertView == null) { 
    convertView = mLayoutInflater.inflate(mLayout, null); 

    viewHolder = new ViewHolder(); 
    viewHolder.flipper = (ViewFlipper) convertView.findViewById(R.id.viewConfFlipper1); 
    viewHolder.flipper.setDisplayedChild(0); 
    viewHolder.v2FieldName = (TextView) convertView.findViewById(R.id.tvLongName); 
    viewHolder.button01 = (ImageButton) convertView.findViewById(R.id.imageButton1);  
    convertView.setTag(viewHolder); 

} else { 
    viewHolder = (ViewHolder) convertView.getTag(); 
    viewHolder.flipper.setDisplayedChild(0); 
} 


viewflipper = (ViewFlipper) convertView.findViewById(R.id.viewConfFlipper1); 

viewHolder.v2FieldName.setText(items.get(position).get("name"));   
viewHolder.button01.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     viewflipper.showNext(); 
    } 
}); 

return convertView; 

} 
+0

Aber ich muss dynamische Bilder auf Viewflipper hinzufügen, die für jede Zelle unterschiedlich sein können. Wie geht das? –