2011-09-29 164 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發生,請務必在更新的東西在正確的地方。