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
[email protected]
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid