在XML中自定义滚动视图时膨胀类错误?

3

我正在使用Mono Droid构建一个应用程序,我正在尝试创建一个无限滚动视图,以便用户可以向下滚动并加载更多项目。以下是我正在使用的类

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]中,发生了错误。该代码位于 /Users/builder/data/lanes/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs 的第896行。

BirdsIView.getFromParse.OnCreate(Android.OS.Bundle) [0x00016] 位于 c:\Users\New User\Desktop\BirdsIView\BirdsIView\BirdsIView\getFromParse.cs 的第40行。

Android.App.Activity.n_OnCreate_Landroid_os_Bundle_(intptr,intptr,intptr) [0x00011] 位于 /Users/builder/data/lanes/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs的第2179行。

异常堆栈结束

在android.view.InflateException中发生错误:无法解析类com.BirdsIView.BirdsIView.EndlessScroll。Binary XML文件的第1行出现错误。

在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)发生错误。

2个回答

1
我已经让它工作了。显然,你需要这样命名xml
<BirdsIView.EndlessScroll

代替

<com.BirdsIView.BirdsIView.EndlessScroll

-1

只需要简单修改这些函数

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

Android.Views.InflateException已被抛出。二进制XML文件第1行:错误膨胀类com.BirdsIView.BirdsIView.EndlessScroll。 - Kirasoft
Android.Views.InflateException: 二进制XML文件第一行:Error inflating class com.BirdsIView.BirdsIView.EndlessScroll at at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() <IL 0x00011, 0x00068> at Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) [0x00084] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.18-series/3b7ef0a7/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:896 - Kirasoft
我将在问题的详细信息中添加它。 - Kirasoft
谢谢,但我正在使用C#的Monodroid。我正在尝试在C#中做与您相同的事情。 - Kirasoft
init()的C#等效代码是什么? - Kirasoft
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接