Удалить выбранный элемент из ListView

Я хочу удалить выбранный элемент из ListView но я не могу Я перепробовал много методов, но они не работают для меня.

Это мой список адаптеров - элементы приходят с SD-карты.

ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                        FindFilesByType.this, android.R.layout.test_list_item,
                        Ringtones); 

Как мне решить эту проблему?

3 ответа

Вы можете удалить элемент из базового списка и сообщить адаптеру, что набор данных изменился.

Посмотрите на этот метод для примера.

Реализуйте onitemclickListener и получите элемент (get ID), нажатый в arrayadapter, и затем вызовите arrayList.remove([ID]); adapter.notifyDataSetChanged();

@Override
            public View getView(final int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                LayoutInflater inflater=cntx.getLayoutInflater();
                View row=inflater.inflate(R.layout.bookmark_row,null);

                TextView tv=(TextView)row.findViewById(R.id.txtToc);
                final TextView tv2=(TextView)row.findViewById(R.id.txtPgNo);
                mCursor.moveToPosition(position);
                System.out.println("Count Cursor"+mCursor.getCount());
                if(mCursor.getCount()<=0)
                {
                    tv.setText("No Bookmark Found");
                }
                else
                {
                tv.setText(mCursor.getString(1).toString());
                tv2.setTag(mCursor.getString(0).toString());
                tv2.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println(position);
                        db_conn.onDelete("tab_book", mCursor.getColumnName(0),Integer.parseInt((String) tv2.getTag()));
//                      Toast.makeText(ctx,"Bookmark Deleted", Toast.LENGTH_SHORT).show();
                        mToastTextView=new toastTextview(0, 0, ctx,listAct);
                        mToastTextView.showMessage("Bookmark Deleted");
                        refresh();
                    }
                });
                row.setTag(mCursor.getString(2).toString());
                }
                return row;
            }


        public void refresh()
        {
            mCursor=db_conn.onQueryGetCursor("tab_book",mItems,null, null, null, null, null);
            mCursor.moveToPosition(0);
            notifyDataSetChanged();
            if(mCursor.getCount()<=0)
            {
//              Toast.makeText(ctx, "No Bookmark", Toast.LENGTH_SHORT).show();
                try {
                    mFlingAct.dialogBookmark.dismiss();
                } catch (Exception e) {
                    // TODO: handle exception3
                    e.printStackTrace();
                }

            }

       }
Другие вопросы по тегам