Ich habe eine App, die eine Aktivität hat, die a verwendet ScrollView
. Ich muss erkennen, wann der Benutzer dem auf den Grund geht ScrollView
. Ich habe ein bisschen gegoogelt und diese Seite gefunden, auf der es erklärt wird. Aber im Beispiel erweitert sich dieser Typ ScrollView
. Wie gesagt, ich muss die Aktivität erweitern.
Also sagte ich: "Okay, versuchen wir, eine benutzerdefinierte Klasse zu erweitern ScrollView
, die onScrollChanged()
Methode zu überschreiben , das Ende des Bildlaufs zu erkennen und entsprechend zu handeln."
Ich habe es getan, aber in dieser Zeile:
scroll = (ScrollViewExt) findViewById(R.id.scrollView1);
es wirft ein java.lang.ClassCastException
. Ich habe die <ScrollView>
Tags in meinem XML geändert , aber es funktioniert offensichtlich nicht. Meine Fragen sind: Warum, wenn es sich ScrollViewExt
ausdehnt ScrollView
, wirft es mir ein Gesicht ins Gesicht ClassCastException
? Gibt es eine Möglichkeit, das Ende des Bildlaufs zu erkennen, ohne zu viel durcheinander zu bringen?
Danke Leute.
EDIT: Wie versprochen, hier ist der Teil meines XML, der zählt:
<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>
Habe ich es von TextView
zu der WebView
Lage sein , den Text innerhalb rechtfertigen. Was ich erreichen möchte, ist die Sache "Akzeptieren" wird erst aktiviert, wenn die Vertragsbedingungen vollständig gelesen sind. Meine erweiterte Klasse heißt ScrollViewEx
t. Wenn ich das Tag ScrollView
dafür ändere ScrollViewExt
, wirft es ein
android.view.InflateException: Binary XML file line #44: Error inflating class ScrollViewExt
weil es das Tag nicht versteht ScrollViewEx
. Ich glaube nicht, dass es eine Lösung gibt ...
Danke für deine Antworten!
canScrollVertically(int)