2012-01-26 3 views
0

그래서 나는 간결이처럼 보이는 것을 자바에서 ViewPager를 구현 한 객체 다음 :는/사용

 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); 

제 질문은 - 최종 IntPtr에서 무엇을합니까? 어떻게 그것을 전망에 던지나요?

답변

2

당신이처럼을 IntPtr에서 Java.Lang.Object를 인스턴스화 할 수 있습니다

var javaObject = new Java.Lang.Object(_viewpager, JniHandleOwnership.TransferLocalRef); 

다른 클래스에 해당 개체를 캐스팅 도움이 될 수 JavaCast 확장 방법도있다 : 그러나

var viewPager = javaObject.JavaCast<ViewPager>(); 

에서, 여기서 언급 할 문제는 C#에서 ViewPager 클래스에 액세스 할 수 없다는 것입니다. 즉, 논리가 Java에 있어야합니다.

+1

나는 그것을해야 할지도 모른다고 걱정했다. 글쎄, 필자는 호환성 라이브러리를 포팅하여 내가 원하는 기능/재사용 기능을 갖춰야한다고 생각한다 :-D. 감사. – Seabiscuit