我对android和developing wallpaper application是个新手。我使用view-pager创建一个页面,其中所有的wallpaper slides one by one.
现在,我必须在用户long-press on any one image时使用open context menu。我试了很多次,也在搜索,但没有找到任何地方。
使用的代码如下:
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;
}
};
}
}如果有人有经验,请让我知道。
谢谢
发布于 2015-06-22 19:48:27
长点击监听器对你来说是一个很好的解决方案吗?
imageView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//your code
return true;
}
});https://stackoverflow.com/questions/30977699
复制相似问题