首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用OnItemLongClickListener上的onItemclicklistener

禁用OnItemLongClickListener上的onItemclicklistener
EN

Stack Overflow用户
提问于 2013-03-11 14:33:20
回答 1查看 123关注 0票数 2

当我长点击时,我想禁用onItemclicklistener。问题是我正在网格视图的onItemclick上播放视频。我想在onItemLongclick上做一些其他的任务。但当我长按时,它正在播放视频,并执行一些其他的task..Here是我的代码。

代码语言:javascript
复制
gv.setOnItemClickListener(new OnItemClickListener() {
        @SuppressWarnings("deprecation")
        public void onItemClick(AdapterView<?> parent, View v,final int position, long id) {

        Log.d(TAG, "got in onItemClick of Item  "+position);
        System.gc();
         Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
         String[] cols = new String[]{
                MediaStore.Video.VideoColumns._ID,
                MediaStore.Video.VideoColumns.DISPLAY_NAME,
                MediaStore.Video.VideoColumns.DATA};
         Cursor c;
         c = managedQuery(uri, cols, null, null, MediaStore.Video.VideoColumns.DATE_TAKEN);
         c.moveToFirst();
         int mPath = c.getColumnIndexOrThrow(MediaStore.Video.VideoColumns.DATA);
         c.moveToPosition(position);
         String filename = c.getString(mPath);
         Log.d(TAG, "video position is " + position+ " video path is " + filename);
         Intent intent = new Intent(Isabella_galleryActivity.this, ViewVideo.class);
         intent.setDataAndType(uri, "video/*");
         intent.putExtra("videofilename", filename);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         startActivity(intent);
        }
    });


gv.setOnItemLongClickListener(new OnItemLongClickListener() {

        //@Override
        public boolean onItemLongClick(AdapterView<?> parent, View v,
                int position, long id) {
            Log.d(TAG, "got in onItemLongClick of Item  "+position);// TODO Auto-generated method stub
            //del_image = (ImageView)findViewById(R.id.video_delet_image);
            //del_image.setVisibility(View.VISIBLE);
            //gv.setClickable(false);
            div.setVisibility(View.VISIBLE);
            div.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Log.w(TAG, "deleting the video");

                }
            });
            return false;
        }
       });
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-11 14:49:31

尝试将OnItemLongClickListener返回值设置为true,以告知回调已被使用。如果你返回false,它会认为长点击没有被消耗掉。这可能会解决你的问题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15332508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档