2014-10-19 52 views
2

我有一个应用程序,我正在使用Mono Droid构建。我正在尝试制作无限滚动视图,以便我的用户可以滚动到底部并加载更多项目。这里是我正在使用的类在XML中自定义滚动视图上膨胀类时出错?

public class EndlessScroll : ScrollView 
{ 
    public EndlessScroll (Context context) : base (context) 
    {} 

    public EndlessScroll(Context context, IAttributeSet attrs) : base(context, attrs) 
    {} 

    public EndlessScroll(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle) 
    {} 

    public interface OnScrollViewListener 
    { 
     void onScrollChanged(EndlessScroll v, int l, int t, int oldl, int oldt); 
    } 

    public OnScrollViewListener mOnScrollViewListener; 

    public void setOnScrollViewListener(OnScrollViewListener l) 
    { 
     this.mOnScrollViewListener = l; 
    } 

    protected void onScrollChanged(int l, int t, int oldl, int oldt) 
    { 
     mOnScrollViewListener.onScrollChanged(this, l, t, oldl, oldt); 
     base.OnScrollChanged(l, t, oldl, oldt); 
    } 
} 

这是我的xml文件。我从Java转换了所有这些代码,所以可能有些事情我做错了。

<com.BirdsIView.BirdsIView.EndlessScroll 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="90" 
    android:id="@+id/scrollView"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/viewDebug" /> 
</com.BirdsIView.BirdsIView.EndlessScroll> 

这是我的错误日志

Android.Views.InflateException: Binary XML file line #1: Error inflating class com.BirdsIView.BirdsIView.EndlessScroll 


at at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() <IL 0x00011, 0x00068> 

在Android.Runtime.JNIE nv.CallNonvirtualVoidMethod(IntPtr的,IntPtr的,IntPtr的,Android.Runtime.JValue [])[0x00084]在/用户/ builder/data/lane/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:896

at BirdsIView.getFromParse.OnCreate( Android.OS.Bundle)[0x00016]在c:\ Users \ New User \ Desktop \ BirdsIView \ BirdsIView \ BirdsIView \ getFromParse.cs中:40 at An在/Users/builder/data/lanes/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/platforms中的droid.App.Activity.n_OnCreate_Landroid_os_Bundle_(intptr,intptr,intptr)[0x00011] /android-19/src/generated/Android.App.Activity.cs:2179 at at(wrapper dynamic-method)object.06c20e74-6eec-438c-a399-394abf9bcd74(intptr,intptr,intptr) at ---在android.view.InflateException管理异常堆栈跟踪--- 结束:二进制XML文件行#1:错误充气类com.BirdsIView.BirdsIView.EndlessScroll

处android.view.LayoutInflater.createViewFromTag(LayoutInflater。 java:687)

回答

1

我得到了这个工作。显然,你需要命名像这样

<BirdsIView.EndlessScroll 

代替

<com.BirdsIView.BirdsIView.EndlessScroll 
-1

只需要更改这些函数ons简单

public EndlessScroll (Context context) 
    { 
     super(context); 
     init(); 
    } 

    public EndlessScroll(Context context, AttributeSet attrs) 
    { 

     super(context, attrs); 
     init(); 

    } 

    public EndlessScroll(Context context, AttributeSet attrs, int defStyle) 
    { 
     super(context, attrs, defStyle); 
     init(); 
    } 
+0

Android.Views.InflateException已经扔了XML。二进制XML文件行#1:错误膨胀类com.BirdsIView.BirdsIView.EndlessScroll – Kirasoft 2014-10-19 21:39:14

+0

复制所有错误日志并放置在这里 – 2014-10-19 21:39:40

+0

Android.Views.InflateException:二进制XML文件行#1:错误膨胀类com.BirdsIView.BirdsIView.EndlessScroll在/ Users中的Android.Runtime.JNIEnv.CallNonvirtualVoidMethod(intptr,intptr,intptr,Android.Runtime.JValue [])[0x00084]处的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 处的 /builder/data/lanes/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:896 – Kirasoft 2014-10-19 21:44:20