ArrayAdapterを介してAdMobAdViewをListViewに入れようとしているIM。現在、正常に読み込まれ、広告は期待どおりにリストビューに表示されます。スクロールすると、広告を含む行が表示されなくなると、アプリがフリーズします。adviewの削除が問題を引き起こしていると思います。これを防ぐ方法はありますか?または、行がリストビューから削除されていることを検出する方法はありますか?または、行がリストビューからクリアされずに保持される方法はありますか?
これが私がアダプターgetViewメソッドに持っているものです:
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
ChapterModel chapter = getItem(position);
LinearLayout L;
if (row == null) {
LayoutInflater inflater = (LayoutInflater) this.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.chapter_listview_ad, parent, false);
}
AdRequest request = new AdRequest();
AdView adView;
L=(LinearLayout) row.findViewById(R.id.chapter_row_layout);
adView= new AdView((Activity) this.context,new AdSize(768,90), ADDID);
adView.setAdListener(this);
adView.loadAd(request);
L.addView(adView);
return row;
}
eclipseは私に与えます:下の画像のNullPopinterException
注:これは機能しますが、画面から消えるたびに追加が削除され、再ロードされます。
public int getItemViewType(int position) {
// Don't let ListView try to reuse the views.
return AdapterView.ITEM_VIEW_TYPE_IGNORE;
}