0

リストビューがあり、ここでエントリの 1 つを選択して削除できるようにしたいと考えています。たとえば、リストビューのエントリは次のようになります。

ジョンスミス

john@hotmail.com

4857394

ニューヨーク

だから私はこれを選択して削除したい。選択するために、このセット OnItemClickListener を見つけました。削除機能があります。このエントリをクリックするときに「John Smith」という名前を選択するだけです。ここで関数内に何を記述できるかわかりません。

listContent.setOnItemClickListener(new OnItemClickListener()
{
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,long id)
    {       
        listContent.getItemAtPosition(position);
    }
});
4

3 に答える 3

2
listContent.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {

    listContent.getItemAtPosition(position);
    listContent.removeViewAt(position);
    adapter.notifyDatasetChanged();========> your adapter

}
});
于 2012-07-20T12:26:52.707 に答える
2

以下のようにアイテムを削除できます。

adapter.remove(listContent.getAdapter().getItem(arg2));

notifyDataSetChanged():アダプターオブジェクトから直接削除しているため、変更を有効にするためにメソッドを呼び出すことについて心配する必要はありません。

于 2012-07-20T12:27:59.103 に答える
0

ListView では、データのコレクションを通じてデータを提供しており、リスト内の個々のデータのインデックスは、画面に表示されているものと同じになります。したがって、 onItemClick メソッドでは、選択されたリストを意味する int arg2 も取得します。リストから要素を削除し、この削除操作を runOnUIThread メソッドに書き込むために使用できるのと同じインデックスを使用して、グリッチを見つけられないようにします。

于 2012-07-20T12:35:23.980 に答える