0

グリッドビューがあり、グリッドビューで表示したいデータをgridviewアダプタクラスに渡します。アイテムを長押ししたときにアイテムを削除したいと思います。

onItemLongClickListenerで削除したい。

4

2 に答える 2

1

あなたがする必要があるのはこれです:

  1. GridView用のカスタムアダプタを作成します。そのアダプタで、保持しているアイテムのリストからアイテムを削除するためのメソッドを提供します。たとえば、'void removeItem(int position)`

  2. setOnItemLongClickListenerグリッドに電話します。この方法では、ロングクリックが発生したアイテムの位置を取得します。このメソッドから、メソッドを呼び出して、受け取った位置のアイテムを削除します。

  3. メソッドを使用してデータが変更されたことをGridViewに通知しますnotifyDataSetchanged。GridView UIをすぐに更新する場合はHandler、このリクエストに使用して、UIスレッドで確実に更新されるようにする必要があります。

于 2012-05-09T11:21:13.153 に答える
1

mThumbIdsList がすべてのグリッドビューアイテムIDの整数配列である場合は、このコードを試すことができます。これはあなたを助けるかもしれません。

final ImageAdapter adapter = new ImageAdapter(this);
gridview.setAdapter(adapter);

gridview.onItemLongClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        adapter.mThumbIdsList.remove(position);
        adapter.notifyDataSetChanged();
    }
});
于 2012-05-09T11:31:10.327 に答える