2012-06-29 3 views
1

사용자 지정 어댑터 및 레이아웃 항목을 사용하여 listview를 구현했습니다. 나는 복잡한 논리를 가지고 있습니다. listview가 처음로드 될 때 논리가있는 올바른 레코드를 보여줍니다. 하지만 아래로 스크롤하면 내 논리의 의미가 바뀌고 데이터가 업데이트됩니다.listview getitem 코드를 한 번 실행하십시오.

그래서 내가 한 번만 목록보기 바인드 ..

이 사람이 나를 도울 수 때 논리를 실행하려면?

미리 감사드립니다.

+0

ListView 스크롤을 사용하면 항목을 다시 만들 수 있습니다. getView 메소드를 잘못 구현하면 원하지 않는 결과가 발생할 수 있습니다. 우리가 더 이상 당신을 도울 수 있도록 몇 가지 코드를 제공하십시오. –

답변

0
public View getView(final int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    final ViewHolder holder; 

    if (convertView == null) { 
     holder = new ViewHolder(); 

     convertView = mInflater.inflate(R.layout.shopping_cartcell_layout, 
       null); 
     holder.product_name = (TextView) convertView 
       .findViewById(R.id.product_name); 
     holder.base_price_tv = (TextView) convertView 
       .findViewById(R.id.base_price_view); 



     convertView.setTag(holder); 

    } else { 
     holder = (ViewHolder) convertView.getTag(); 

    } 

    // here you can set your value to your view one example like below 
      // if you have any arrylist then get your data and set to your view 
      // for example "PRODUCTLIST" is your array list in which you store products 
      // see how to set it 

     if(PRODUCTLIST.get(position).getproductname !=null){ 

       holder.product_name.settext(PRODUCTLIST.get(position).getproductname); 
       } 

     if(PRODUCTLIST.get(position).getproductbaseprice !=null){ 

      holder.base_price_tv.settext(PRODUCTLIST.get(position).getproductbaseprice); 

      } 
     return convertView; 
관련 문제