私にはonItemLongClickListener
が付いているリストビューがあります。すべて正常に機能しますが、リストにアイテムを多すぎる(たとえば100)追加すると、ビューの一部がリスナーを失います。問題が何であるか分からず、私も問題をデバッグしてもそれを理解することはできません。Android ListViewのアイテムが多すぎる場合は、リスナーが緩くなります
例外がスローされることはなく、ただ機能しなくなります。
リストからすべてを削除して追加すると、多くのアイテムに追加しない限り正常に動作します。
メモリの問題ですか?
私はどこでも検索しましたが、運はありません。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_frame);
// Set text view for orderTotal
orderTotal = (TextView) findViewById(R.id.orderTotal);
orderTotal.setText("0.00");
// List view from layout
itemsListView = (ListView) this.findViewById(R.id.item_list);
// Current order to be consistent throughout activities.
currentOrder = ((OrderIt)this.getApplication()).getCurrentOrder();
databaseCategories = (ArrayList<Category>) this.getIntent().getExtras()
.getSerializable("databaseCategories");
// List of items already in order.
itemsListView.setAdapter(new ItemAdapter(this, R.layout.list_item,
currentOrder.getItems()));
itemsListView.setOnItemLongClickListener(this);
this.registerForContextMenu(itemsListView);
// Gridview from layout
gridView = (GridView) findViewById(R.id.item_grid);
ArrayList<Item> items = getItems();
gridView.setAdapter(new ImageAdapter(this, items));
// Set click adapter to grid view items
gridView.setOnItemClickListener(this);
gridView.setOnItemLongClickListener(this);
}
アダプターで何か特別なことをしていますか?そこにハイジャックイベント?あまりにも多くのアイテムを追加しても問題ありません。私はそれが起こっている理由を考えることができません。 –
アダプターには何も気にならず、ビューを膨らませて値をアイテムに割り当てるだけです。 – Mayank