2017-09-17 7 views
0

내 ListView에 네이티브 광고를 구현했지만 잘 작동하지만 초점을 맞출 때마다 다시로드됩니다. 매번 인스턴스를 다시로드하지 않도록 인스턴스 또는 뷰를 유지할 수있는 방법이 있습니까? 또는보기의 휴양을 차단할 수 있습니까?안드로이드 - 초점을 맞출 때마다 네이티브 광고 새로 고침

class CustomAdapter extends BaseAdapter { 

    String content, currentFile, pv; 

    @Override 
    public int getCount() { 
     return fileList.size(); 
    } 

    @Override 
    public Object getItem(int i) { 
     return null; 
    } 

    @Override 
    public long getItemId(int i) { 
     return 0; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 



     if (i == 0) { 

      if (isNetworkAvailable()) { 

      // ad loads here 

       LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       view = inflater.inflate(R.layout.native_ad_item, null); 
       final CardView cardView = (CardView) view.findViewById(R.id.card_view); 
       NativeExpressAdView adView = (NativeExpressAdView) view.findViewById(R.id.nativeAd); 
       AdRequest request = new AdRequest.Builder().addTestDevice("264647BDFDDB6FBB0F34C797D5D53A4D").build(); 
       adView.loadAd(request); 



      } 

     } else { 

      LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.purchased_list_item, null); 

      // rest of the code 

     } 

     return view; 
    } 

답변

0

이리스트 뷰의 getView에서 만든 아이 뷰()를 재사용 및 그 방법 (실제로 convertView 불린다) 번째 매개 변수로 보낸다. View가 null가 아닌지를 확인해, 매번 새로운 View를 작성하는 대신에 그것을 사용할 수 있습니다. 이 질문에 대한 답변에서 자세한 내용을 볼 수 있습니다. What is the purpose of `convertView` in ListView adapter?