2014-03-25 50 views
0

我想实现与股票安卓照片应用程序中使用的相同的技术来删除图片。我的意思是,我希望能够在执行长按项目时选择图片/项目。然后,操作栏也应该显示我选择了多少张照片。如果你知道这个应用,你也会知道我的意思。如何在我的Android应用程序中添加删除项目功能?

基本上我到目前为止,是行动栏本身(我使用的是appcompat之一)和gridview。在那里,我将在这里的某个地方添加此functionlity:在这个监听

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

然后创建一个ActionModeReference):

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

您应该设置一个ChoiceModeCHOICE_MODE_MULTIPLE_MODAL到你的GridView和MultiChoiceMode监听器用这些方法(我加几个例子):

  • onPrepareActionMode:清除菜单,充气菜单
  • onCreateActionMode:清晰的菜单,充气..或任何
  • onItemCheckedStateChanged:更新ActionBar中(如+1项目字符串)的标题,RE /设置背景所点击视图..
  • onActionItemClicked:retreive点击id和执行操作(如notifyDataSetChanged方法)
  • onDestroyActionMode:更新活动(如重置视图的背景)

这啧orial:Multiple Selection GridView in Android可能会帮助你做到这一点。另请参阅Guide Topic中的在ListView或GridView部分中启用批处理上下文操作。

希望这会有所帮助。

相关问题