2015-06-22 69 views
0

我是android和developing wallpaper application的新手。我使用view-pager创建一个页面,其中全部为wallpaper slides one by one.如何在android上的longclick上查看viewpage图片的上下文菜单

现在,我必须open context menu当用户long-press on any one image。我尝试了很多次,也搜索,但没有找到任何地方。

下面的代码中使用:

public void onCreate(Bundle savedInstanceState) { 

viewPager = (ViewPager) findViewById(R.id.view_pager); 
int position = getIntent().getExtras().getInt("position"); 
viewPager.setAdapter(new MyAdapter(getSupportFragmentManager())); 
viewPager.setCurrentItem(position); 
viewPager.setOnPageChangeListener(this); 

registerForContextMenu(viewPager); 
} 

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    menu.setHeaderTitle("Picture Options"); 
    menu.add(0, v.getId(), 0, "Set Picture as"); 
    menu.add(0, v.getId(), 0, "Share"); 

} 

适配器代码

public class MyAdapter extends FragmentPagerAdapter { 
    public MyAdapter(FragmentManager fm) { 
     super(fm); 
} 

@Override 
public int getCount() { 
    return GridViewDemo.mThumbIds.length; 
} 

@Override 
    public Fragment getItem(final int position) { 
     return new Fragment() { 
      @Override 
      public View onCreateView(LayoutInflater inflater, 
       ViewGroup container, Bundle savedInstanceState) { 
       ImageView imageView = new ImageView(FullImageView.this); 
       imageView.setImageResource(GridViewDemo.mThumbIds[position]); 
       return imageView; 
       } 
      }; 
     } 
} 

让我知道,如果有任何在这方面的经验。

谢谢

+0

使用registerForContextMenu(你的图像实例在这里); –

+0

我用上面的代码registerForContextMenu(viewpager)。 – harsh4u

+0

你用错误的方式实现,你需要在你的viewpager适配器的getview中给出图像视图。 –

回答

0

是一个很长的点击监听器是一个很好的解决方案吗?

imageView.setOnLongClickListener(new OnLongClickListener() { 

    @Override 
    public boolean onLongClick(View v) { 
     //your code 
     return true; 
    } 
});