Hi Jon,

Thanks for your prompt reply.


I have solved 

*Error 2 :* *
 
'Com.Ipaulpro.Afilechooser.FileLoader.LoadInBackground()': return type must
be 'Java.Lang.Object' to match overridden member
'Android.Support.V4.Content.AsyncTaskLoader.LoadInBackground()' 


by adding these lines in Metadata.xml as per your suggestions 

*<attr
path="/api/package[@name='com.ipaulpro.afilechooser']/class[@name='FileLoader']/method[@name='loadInBackground']"
name="managedReturn" >Java.Lang.Object</attr>*

It works great.


*Error No 1: *

*Error 1 :* 'Com.Ipaulpro.Afilechooser.FileListFragment' does not implement
interface member
'Android.Support.V4.App.LoaderManager.ILoaderCallbacks.OnLoadFinished(Android.Support.V4.Content.Loader,
Java.Lang.Object)' 

I have done the steps given by you .

1. Transform/Metadata.xml

 <attr             
path="/api/package[@name='com.ipaulpro.afilechooser']/class[@name='FileListFragment']/method[@name='onLoadFinished']/parameter[@name='p0']"
name="type" android.support.v4.content.Loader</attr> 
<attr                
path="/api/package[@name='com.ipaulpro.afilechooser']/class[@name='FileListFragment']/method[@name='onLoadFinished']/parameter[@name='p1']"
 
name="type" >java.util.List </attr> 

2.Add a new  partial class to my binding solution as per your suggestions 

// Add a new class to your solution: 
   namespace Com.Ipaulpro.Afilechooser { 
   partial class FileListFragment { 
   public void OnLoadFinished(Android.Support.V4.Content.Loader loader,
Java.Lang.Object value) 
   { 
    OnLoadFinished(loader, (Java.Util.List) value); 
    } 
     } 
     } 


3. after building , i got bunch of errors.

*Error  1*      The best overloaded method match for
Android.Runtime.JavaList<Java.IO.File>.ToLocalJniHandle(System.Collections.Generic.IList<Java.IO.File>)'
has some invalid arguments      C:\Users\venkatesh.r\documents\visual studio
2010\Projects\FileChooser\FileChooser\obj\Debug\generated\src\Com.Ipaulpro.Afilechooser.FileLoader.cs
94      11      FileChooser

*Error  2*      Argument 1: cannot convert from 'Java.Lang.Object' to
'System.Collections.Generic.IList<Java.IO.File>'
C:\Users\venkatesh.r\documents\visual studio
2010\Projects\FileChooser\FileChooser\obj\Debug\generated\src\Com.Ipaulpro.Afilechooser.FileLoader.cs
94      84      FileChooser

*Error  3*      Cannot implicitly convert type
'System.Collections.Generic.IList<Java.IO.File>' to 'Java.Lang.Object'. An
explicit conversion exists (are you missing a cast?)
C:\Users\venkatesh.r\documents\visual studio
2010\Projects\FileChooser\FileChooser\obj\Debug\generated\src\Com.Ipaulpro.Afilechooser.FileLoader.cs
107     12      FileChooser

*Error  4*      Cannot implicitly convert type
'System.Collections.Generic.IList<Java.IO.File>' to 'Java.Lang.Object'. An
explicit conversion exists (are you missing a cast?)
C:\Users\venkatesh.r\documents\visual studio
2010\Projects\FileChooser\FileChooser\obj\Debug\generated\src\Com.Ipaulpro.Afilechooser.FileLoader.cs
109     12      FileChooser

*Error  5*      The type or namespace name 'List' does not exist in the 
namespace
'Java.Util' (are you missing an assembly reference?)
C:\Users\venkatesh.r\documents\visual studio
2010\Projects\FileChooser\FileChooser\FileListFragment.cs       19      46      
FileChooser



Generated C# code for OnLoadFinished() member

static IntPtr
id_onLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_;
                // Metadata.xml XPath method reference:
path="/api/package[@name='com.ipaulpro.afilechooser']/class[@name='FileListFragment']/method[@name='onLoadFinished'
and count(parameter)=2 and
parameter[1][@type='android.support.v4.content.Loader'] and
parameter[2][@type='java.util.List']]"
*[Register ("onLoadFinished"*,
"(Landroid/support/v4/content/Loader;Ljava/util/List;)V",
"GetOnLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_Handler")]
public virtual void OnLoadFinished
(global::Android.Support.V4.Content.Loader p0,
global::System.Collections.IList p1)
{
if (id_onLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_ ==
IntPtr.Zero)
id_onLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_ =
JNIEnv.GetMethodID (class_ref, "onLoadFinished",
"(Landroid/support/v4/content/Loader;Ljava/util/List;)V");
IntPtr native_p1 = global::Android.Runtime.JavaList.ToLocalJniHandle (p1);
if (GetType () == ThresholdType)
JNIEnv.CallVoidMethod  (Handle,
id_onLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_, new
JValue (p0), new JValue
(Java.Interop.JavaObjectExtensions.ToInteroperableCollection (p1)));
else
JNIEnv.CallNonvirtualVoidMethod  (Handle, ThresholdClass,
id_onLoadFinished_Landroid_support_v4_content_Loader_Ljava_util_List_, new
JValue (p0), new JValue
(Java.Interop.JavaObjectExtensions.ToInteroperableCollection (p1)));
JNIEnv.DeleteLocalRef (native_p1);
}



I have attached diagnostic output for this build with api.xml


Kindly suggest me what i went wrong?


Thanks diagnostic_log.txt
<http://mono-for-android.1047100.n5.nabble.com/file/n5713534/diagnostic_log.txt>
  
api.xml
<http://mono-for-android.1047100.n5.nabble.com/file/n5713534/api.xml>  

















--
View this message in context: 
http://mono-for-android.1047100.n5.nabble.com/Binding-FileChooser-java-Library-project-to-xamarin-android-tp5713532p5713534.html
Sent from the Mono for Android mailing list archive at Nabble.com.
_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to