0

フッターとヘッダーを含むリストがあります。リストから項目を削除する onLongClick を追加しました。ヘッダーを長押しすると、リストから最初の項目が削除されます。最後の項目またはフッターをクリックすると、アプリがクラッシュします-項目が範囲外です。

フッターとヘッダーをクリックできないようにすることはできますか? または、アダプター内のアイテムをどのようにカウントする必要がありますか? または、それをベイパスする他の方法はありますか?

アイテムの削除:

list.setOnItemLongClickListener(new OnItemLongClickListener() {
        public boolean onItemLongClick(AdapterView<?> parent, View v,
                int position, long id) {
            // Delete Item from List

            ShoppingItem simpleItem = null;

            if (shoppingListApplication.getAdapter().getCount() > 0) {
                simpleItem = (ShoppingItem) shoppingListApplication
                        .getAdapter().getItem(position);
                removeShoppingItem(simpleItem,
                        shoppingListApplication.getAdapter());

            }
4

3 に答える 3

3

ListViewのヘッダーとフッターをクリックできないようにするには、addHeaderView(ビューv、オブジェクトデータ、ブールisSelectable)addFooterView(ビューv、オブジェクトデータ、ブールisSelectable)を使用する必要があります。

ヘッダーとフッターfalseの代わりに渡すだけです。isSelectable

擬似コード、

listview.addHeaderView(header_view, null, false);
listview.addFooterView(footer_view, null, false);
于 2012-09-18T15:18:42.487 に答える
1

ListView にリスト ヘッダーを追加すると、アダプターの最初の項目のインデックスは 1 になります。ヘッダーを追加しなかった場合、アダプターの最初の項目のインデックスは 0 です。

于 2012-09-18T15:20:43.490 に答える