有人能提供在viewpager中使用supportmapfragment的最佳工作示例吗?我尝试了很多教程,但我无法实现它。我只需要片段和它的布局。我知道如何设置寻呼机。提前谢谢。
"似乎什么都不起作用"是对症状的无用描述。以后,请随意解释出了什么问题。
也就是说,这里有一个示例项目,展示了SupportMapFragment
在ViewPager
中的使用。请注意,您需要使用ViewPager
的子类,覆盖canScroll()
以确保贴图仍然可以水平滑动。
public class MapAwarePager extends ViewPager {
public MapAwarePager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x,
int y) {
if (v instanceof SurfaceView || v instanceof PagerTabStrip) {
return(true);
}
return(super.canScroll(v, checkV, dx, x, y));
}
}
在我的onCreate中,我执行以下操作:
mViewPager = new CustomViewPager(this);
mViewPager.setId(R.id.viewPager);
setContentView(mViewPager);
final FragmentManager fm = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fm) {
@Override
public int getCount() {
return mContactList.size();
}
@Override
public Fragment getItem(int pos) {
Contact mContact = mContactList.get(pos);
int mCurrentPosition = mContact.getPosition();
return ContactDetailsFragment.newInstance(mCurrentPosition);
}
});
//loads the proper fragment on its meant-to-be position into the ViewPager
mViewPager.setCurrentItem(position);
在我的ContactDetailFragment中,我有这样的方法:
public static ContactDetailsFragment newInstance(int position) {
Bundle args = new Bundle();
args.putInt(EXTRA_CONTACT_ID, position);
Log.i("ContactDetailsFragment","EXTRA_CONTACT_ID = "+EXTRA_CONTACT_ID);
ContactDetailsFragment mCdf = new ContactDetailsFragment();
mCdf.setArguments(args);
return mCdf;
}
我在stackoverflow上搜索supportmapfrment的一些帮助,我在这里着陆了。
我目前正在做一个类似的项目。
如果您现在还需要,请随时与我联系。