2011-09-29 168 views
0

我有一个自定义列表视图我想补充一个纬度排它,这将计算所有的单子总当我滚动的最后一排被一次又一次的加添加最后一排列表视图

if(position==searchResult.size() && searchResult.size()!=1) 
     { 

       holder.checkImg.setVisibility(ImageView.GONE); 
       holder.fvtImg.setVisibility(ImageView.GONE); 
       holder.type.setVisibility(TextView.GONE); 
       holder.name.setVisibility(TextView.GONE); 
       holder.offer_price.setVisibility(TextView.GONE); 
       holder.real_price.setVisibility(TextView.GONE); 

       holder.total.setVisibility(TextView.VISIBLE); 
       holder.total_price.setVisibility(TextView.VISIBLE); 

       //DecimalFormat df = new DecimalFormat("0.00"); 
       //holder.txt_distance.setText(df.format(mData.get(position).get("distance")).toString()+"..."); 

       DecimalFormat twoDForm = new DecimalFormat("0.00"); 
       String totalPrice = (twoDForm.format(mTotalPrice)+"").replace('.',','); 

       holder.total.setText("Total"); 
       holder.total_price.setText("Kr. "+totalPrice); 
     } 
     else 
     { 
      holder.total.setVisibility(TextView.GONE); 
       holder.total_price.setVisibility(TextView.GONE); 
        if(isEdit){ 
         /*LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
          lp.leftMargin=30; 
          holder.fvtImg.setLayoutParams(lp);*/ 
         /* TranslateAnimation anim = new TranslateAnimation(0,35,0,0); 
         holder.fvtImg.setAnimation(anim); 
         anim.setFillAfter(true);*/ 
          holder.fvtImg.setVisibility(ImageView.GONE); 
          holder.name.setPadding(10,0, 0, 0); 
          holder.type.setPadding(10,0, 0, 0); 
          holder.checkImg.setVisibility(ImageView.VISIBLE); 

布局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
> 

    <ImageView 
    android:id="@+id/list_background" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/price_list_background" 
    /> 
    <CheckBox android:id="@+id/checkBox" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_alignParentLeft="true" 
    android:visibility="gone"> 
    </CheckBox> 

    <ImageView 
    android:id="@+id/img_pol" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/pol_icon_tag" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="5dp" 
    /> 

    <TextView 
    android:id="@+id/txt_name" 
    android:layout_width="wrap_content" 
    android:layout_height="15dp" 
    android:textSize="16dp" 
    android:textColor="#000000" 
    android:layout_marginTop="5dp" 
    android:layout_marginLeft="35dp" 
    /> 
    <TextView 
    android:id="@+id/txt_type" 
    android:layout_width="200dp" 
    android:layout_height="13dp" 
    android:textSize="12dp" 
    android:textColor="#464647" 
    android:layout_marginTop="35dp" 
    android:layout_marginLeft="35dp" 
    /> 
    <TextView 
    android:id="@+id/txt_real_price" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="12dp" 
    android:textColor="#464647" 
    android:layout_marginTop="35dp" 
    android:layout_marginLeft="90dp" 
    /> 
    <TextView 
    android:id="@+id/txt_offer_price" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="16dp" 
    android:textColor="#464647" 
    android:layout_marginTop="31dp" 
    android:layout_marginLeft="190dp" 
    /> 

    <TextView 
    android:id="@+id/txt_total" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="15dp" 
    android:textColor="#464647" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="100dp" 
    android:text="Total" 
    android:visibility="gone" 
    /> 
    <TextView 
    android:id="@+id/txt_total_price" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="16dp" 
    android:textColor="#464647" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="230dp" 
    android:text="kr. 222.22" 
    android:visibility="gone" 
    /> 


    </RelativeLayout> 

回答

2

你有没有考虑过使用页脚,而不是把最后一项ListView的内部?

在你设置ListView的适配器之前,你需要为页脚布局(或者只是一个TextView,如果这就是你需要的)膨胀。当您将项目添加到列表或当计算需要发生,你刚才计算和设定的myFooter文本

TextView myFooter = new TextView(context); 
myListView.addFooterView(myFooter); 

然后:存储对它的引用,然后将它添加到ListView。

myFooter.setText(myCalculatedValue); 

设置页脚文本,所以如果你使用一个后台线程或的AsyncTask添加到您的列表视图的UI线程上必须ofcourse发生,请务必在更新的东西在正确的地方。