私はlistview
にadapter
があり、フラグメントにはBaseAdapter
があります。その上でlistview
私はユーザがlistview
の終わりに達する時を検出するscrollview
リスナを実装しました。その場合、より多くのデータがロードされます。また、私はクリックするとすべてのフィルタをリセットし、項目を開始してリストをリロードする、その断片のボタンを持っています。ユーザーが下にスクロールし、同じ時間にしたときの問題は、押しボタンアプリは、次のエラーでクラッシュします(新しい要素がロードされる前に)次のとおりです。java.lang.Booleanをba.store.models.Merchantsにキャストすることはできません
java.lang.Boolean cannot be cast to ba.store.models.Merchants
これは、それが離れて壊すのコードです:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
Integer identity;
ViewHolder viewHolder = null;
notifyDataSetChanged();
if (convertView == null) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sales_place_item, parent, false);
viewHolder = new ViewHolder(view);
view.setTag(viewHolder);
} else {
view = convertView;
viewHolder = (ViewHolder) view.getTag();
}
Merchants merchants = (Merchants) getItem(position);
if (merchants != null) {
identity = merchants.getMerchantId();
viewHolder.merchant_name.setText(merchants.getMerchantName());
viewHolder.merchant_category.setText(merchants.getCategoryName().toUpperCase());
viewHolder.border_limit.setText(merchants.getBorderLimitAmount().toString() + " KM");
viewHolder.end_loyalty.setText(merchants.getEndLoyaltyPoints().toString());
viewHolder.begin_loyalty.setText(merchants.getStartLoyaltyPoints().toString());
if (merchants.getImagePath().equals(""))
Picasso.with(view.getContext()).load(R.drawable.placeholder_sales).fit().into(viewHolder.merchant_image);
else
Picasso.with(view.getContext()).load(merchants.getImagePath()).fit().into(viewHolder.merchant_image);
}
return view;
}
GetItemメソッド:
@Override
public Object getItem(int position) {
if (merchants.size() > 0) {
return merchants.get(position);
} else
return false;
}
に変換することはできませんと言っキャストエラーを作成しています、ゼロの実装を貼り付けてください – Kelevandos
データがロードされてリストに追加されるまでボタンを無効にしないのはなぜですか? – Nishith