如何从LIstActivity中删除列表项?

时间:2015-01-03 08:48:59

标签: list android-listview listactivity selecteditem listitem

@Override
    protected void onListItemClick(final ListView l, final View v,
            final int position, final long id) {

        super.onListItemClick(l, v, position, id);


        final FriendInfo friend = friendAdapter.getItem(position);
        String selection = l.getItemAtPosition(position).toString();

}

1 个答案:

答案 0 :(得分:0)

您需要从适配器中删除该项,因此如何执行此操作取决于您friendAdapter所适用的适配器类型。例如,如果它是一个ArrayAdapter,那么它非常简单:

@Override
protected void onListItemClick(final ListView l, final View v, final int position, final long id) {
    super.onListItemClick(l, v, position, id);

    final FriendInfo friend = friendAdapter.getItem(position);
    String selection = friend.toString();
    // do something with selection

    friendAdapter.remove(friend);
    friendAdapter.notifyDataSetChanged();
}

如果friendAdapter是其他类型的适配器,那么您必须以某种方式从基础数据中删除friend项。删除项目后,您必须通知列表适配器已更改。对于ArrayAdapter,这意味着调用notifyDataSetChanged,但对于其他一些适配器,它可能意味着构建一个新的适配器并再次调用setAdapter

如果您不确定如何执行此操作,请显示构建适配器的代码,包括适配器的类型,我可以帮助您。