android通过点击它们删除列表视图中的项目

时间:2011-06-11 12:15:18

标签: android listview android-activity android-asynctask android-context

我有一个listAdapter类用于在3个不同的活动中填充列表,所以我公开了,现在列表在listitem视图中有一个删除按钮。我似乎找不到从列表中删除项目的方法。

listview类填充在asyncTask类中,该类在每项活动中都是私有的。

这是我使用的按钮的点击事件:

        /*
         * set onclick litener for delete button
         */
        Button deleteButton = (Button) v.findViewById(R.id.deleteFavoriteStopButton);
        //deleteButton.findViewById(R.id.deleteFavoriteStopID);
        if(deleteButton != null){
            deleteButton.setOnClickListener(new OnClickListener(){
                public void onClick(View v) {
                    //get favorite stop id from parent view
                    String favoriteStopId = ((TextView) ((LinearLayout)v.getParent()).findViewById(R.id.idtext)).getText().toString();

                    SharedPreferences pref = getContext().getSharedPreferences("favoriteBusStops", 0);

                    if(pref.contains( favoriteStopId ) ){
                        pref.edit().remove( favoriteStopId ).commit();
                    }
                }

            });
        }

这是我在listadapter班级

中对AsyncTask的号召
favoritesList.setAdapter(new StopAdapter(getBaseContext(), R.layout.favoritestoplistitem, stopList));

我曾经只是重新加载活动但是因为我从AsyncTask拨打电话我无法做到...

//编辑 我的班级没有实现onclicklistener,这使整个事情变得更容易: http://code.google.com/p/myandroidwidgets/source/browse/trunk/Phonebook/src/com/abeanie/PhonebookAdapter.java

0 个答案:

没有答案