So I’ve implemented a ViewPager in Java that, for brevity, looks like this:
public class ViewpagerActivity extends ViewPager {
private Context _context;
public ViewpagerActivity(Context context) {
super(context);
_context = context;
ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
ARViewPagerAdapter adapter = new ARViewPagerAdapter(_context, LayoutInflater.from(_context));
viewPager.setAdapter(adapter);
addView(viewPager);
// TODO Auto-generated constructor stub
}
In Monodroid I’m calling this (off the jar file) using the following:
IntPtr _viewpagerview = Android.Runtime.JNIEnv.FindClass("net/salespad/viewpager/ViewpagerActivity");
IntPtr _viewpagerconstructor = JNIEnv.GetMethodID(_viewpagerview, "<init>", "(Landroid/context/Context;)V");
IntPtr _viewpager = JNIEnv.NewObject(_viewpagerview, _viewpagerconstructor);
My question is- what do I do with the final IntPtr? How do I cast that to a view?
You can instantiate a Java.Lang.Object from the IntPtr like this:
There is also the JavaCast extension method that can help you cast that object to another class:
However, the problem you’re going to run into here is that the ViewPager class isn’t accessible from C#, meaning that logic will need to stay in Java for now.