繁体   English   中英

从 ListView 中删除所选项目

[英]Remove selected item from ListView

我想从ListView中删除选定的项目,但我不能。 我尝试了很多方法,但它们对我不起作用。

这是我的适配器列表 - 项目来自 SD 卡。

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

我该如何解决这个问题?

您可以从基础列表中删除该项目并向适配器发出数据集已更改的信号。

看看这个方法的例子。

实现 onitemclickListener 并获取在 arrayadapter 中单击的项目(获取 ID),然后调用 arrayList.remove([ID]); 适配器.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();
                }

            }

       }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM