Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在菜单图标上使用setOnClickListener_Java_Android - Fatal编程技术网

Java 如何在菜单图标上使用setOnClickListener

Java 如何在菜单图标上使用setOnClickListener,java,android,Java,Android,如何为菜单图标(删除)使用“单击时设置侦听器”功能。我在菜单中有删除图标。通过使用该选项,我希望删除所选事件 对于该任务,我必须使用setOnClickListener 我已尝试使用为菜单中的删除图标选择的项目。它无法正常工作。因此我不想使用该方法。我想在单击侦听器时在集合中尝试此功能 @Override public boolean onOptionsItemSelected(MenuItem item) { // int Id = item.getItemId();

如何为菜单图标(删除)使用“单击时设置侦听器”功能。我在菜单中有删除图标。通过使用该选项,我希望删除所选事件

对于该任务,我必须使用setOnClickListener

我已尝试使用为菜单中的删除图标选择的项目。它无法正常工作。因此我不想使用该方法。我想在单击侦听器时在集合中尝试此功能

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
// int Id = item.getItemId();
        switch (item.getItemId()) {
            case R.id.menu_cancel_event:
            del();
            eventMO.setIsDelete(1);
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
   private void del(){

        SQLiteDatabase db = dbHelper.getWritableDatabase();
        final long Id=eventMO.getEventId();
        db.delete("event", "Event_ID" + " = ?", new String[] {String.valueOf(Id)});
        db.close();
}

您必须重写方法
onoptions项select(MenuItem项)


像这样做吧。。。我希望您在自定义布局上创建一个关闭图像图标。你在夸大你所有的数据。在我的例子中,若用户按住几秒钟,那个么该图标将可见,若使用r选择那个关闭图标,那个么它将从数据库中删除。。代码在这里

holder.album_img.setOnLongClickListener(new OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            holder.rmv_img.setVisibility(View.VISIBLE);
            return true;
        }
    });
当您单击删除图标时,代码在此处

    holder.rmv_img.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    dbHelper = new DBHelper(context);
                    try {
                        SQLiteDatabase db = dbHelper.getWritableDatabase();
                        db.delete(User_Detail.TABLE_4, User_Detail.KEY_ID_ALBUM_IMAGE + " ='" + img_list.get(position).getId_() + "'", null);
                        img_list.remove(position);
                        notifyDataSetChanged();
                        popupWindow.dismiss();
                        holder.rmv_img.setVisibility(View.GONE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                }
            });

根据你修改。。。快乐编码:-)

什么不起作用?你能说得具体点吗?在“更新事件”中,单击“删除”图标后,我还想单击“保存”按钮…我不想这样做。这就是为什么我说该按钮工作不正常…我需要的是,单击“删除”图标后,我应该返回事件列表,我不想单击任何其他按钮。你可以将此评论移到你的问题上吗。另外,我想看看你想要实现什么,因为这是处理物品点击事件的最佳方式。如果您在单击“删除”图标后告诉我更新事件中的确切内容,我想单击“保存”按钮也表示,我可以给你一个准确的答案。我已经使用创建事件窗口创建了一个事件。创建的事件将出现在事件仪表板中。通过单击事件列表中的特定事件,我可以更新该事件。我还可以删除该事件。单击要更新的事件时,它将转到创建窗口,我可以编辑该事件。若要更新该事件,我将在现有事件更改后提供“保存”按钮。若要删除特定事件,我还应单击该事件,它将转到“创建事件”选项卡,我在菜单中有删除图标。通过此操作,我可以从事件列表中删除该事件。单击该删除图标后,它应删除该事件并返回到事件列表仪表板。我的问题是使用上述代码。我选择了要删除的特定事件,单击“删除”图标后,它会转到“创建事件”,我也应该单击“保存”按钮(用于创建或更新事件)…单击“删除”图标后,它不会返回到事件仪表板。单击“仅保存”后,它仍在“创建场合”窗口中。单击“删除”图标后,我希望它直接返回到事件仪表板谢谢…这里rmv_img是图标名。holder是什么..我需要导入一些程序包以更正此错误。因为它显示了一个错误在Holder中,这是适配器claas,在其中我们使用ViewHolder类。。。所以holder是ViewHolder claas的实例。。如果我们正在从数据库执行任何更新或删除操作,那么我们应该在适配器claas中执行此操作。感谢您的回复谢谢您的回复