如何在我的Android应用中添加删除项功能?

时间:2014-03-25 22:08:39

标签: android android-actionbar

我想实现与股票Android照片应用程序中使用相同的技术来删除图片。我的意思是,我希望能够在执行长项目点击时选择图片/项目。然后操作栏还应显示我选择的图片数量。如果你知道应用程序,你也会知道我的意思。

基本上我到目前为止,是动作栏本身(我正在使用appcompat)和gridview。在那里,我将在这里的某处添加此功能:

private void setGridViewClickListener() {
    mGridView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {

            File imgFile = new  File(mImagePaths.get(position));
            if(imgFile.exists()){

                Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                zoomImageFromThumb(new View(mContext), myBitmap);
            }

        }
    });

1 个答案:

答案 0 :(得分:1)

您应该为您的gridview和ChoiceMode听众设置CHOICE_MODE_MULTIPLE_MODALMultiChoiceMode

gridview.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL);
gridview.setMultiChoiceModeListener(new MultiChoiceModeListener());

然后使用这些方法在此侦听器中创建ActionModeReference)(我添加了一些示例):

  • onPrepareActionMode:清除菜单,充气菜单
  • onCreateActionMode:清除菜单,充气..或其他
  • onItemCheckedStateChanged:更新ActionBar中的标题(如+1项目字符串),重新/设置所点击视图的背景..
  • onActionItemClicked:检索点击的ID并执行操作(notifyDataSetChanged方法)
  • onDestroyActionMode:更新活动(例如重置视图的背景)

本教程:Multiple Selection GridView in Android可能会帮助您完成此操作。另请参阅在ListView或GridView中启用批处理上下文操作部分中的Guide Topic

希望这有帮助。