我有一个应用程序,它有一个使用ScrollView. 我需要检测用户何时到达ScrollView. 我做了一些谷歌搜索,发现这个页面有解释。但是,在示例中,那些家伙扩展了ScrollView. 正如我所说,我需要扩展 Activity。
所以,我说“好吧,让我们尝试做一个自定义类扩展ScrollView,重写onScrollChanged()方法,检测滚动的结束,并采取相应的行动”。
我做到了,但在这一行:
scroll = (ScrollViewExt) findViewById(R.id.scrollView1);
它抛出一个 java.lang.ClassCastException. 我更改了<ScrollView>XML 中的标签,但显然它不起作用。我的问题是:如果ScrollViewExtextends ScrollView,为什么会扔到我脸上ClassCastException?有什么方法可以检测滚动结束而不会弄乱太多?
谢谢大家。
编辑:正如所承诺的,这是我的 XML 的一部分:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/textterms"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:textColor="@android:color/black" />
</ScrollView>
我将其从 更改TextView为WebView能够证明里面的文字是正确的。我想要实现的是“在完全阅读合同条款之前不会激活接受按钮”的事情。我的扩展类称为ScrollViewExt。如果我更改它的标签ScrollView,ScrollViewExt它会抛出一个
android.view.InflateException: Binary XML file line #44: Error inflating class ScrollViewExt
因为它不理解标签ScrollViewEx。我不认为它有解决方案...
感谢您的回答!