नई स्क्रॉल y स्थिति + स्क्रॉल दृश्य ऊंचाई> = tableview ऊंचाई आप का मतलब है कि सूची के अंत तक पहुँच चुके हैं।
इसे प्राप्त करने के लिए आपको अपना कस्टिरॉम स्क्रॉलव्यू लिखना होगा।
चरण -1 आप कस्टम स्क्रॉल दृश्य scrollview
विस्तार
package com.sunil;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ScrollView;
public class LDObservableScrollView extends ScrollView {
private LDObservableScrollViewListener scrollViewListener = null;
public LDObservableScrollView(Context context) {
super(context);
}
public LDObservableScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public LDObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setScrollViewListener(LDObservableScrollViewListener scrollViewListener) {
this.scrollViewListener = scrollViewListener;
}
@Override
protected void onScrollChanged(int x, int y, int oldx, int oldy) {
super.onScrollChanged(x, y, oldx, oldy);
if(scrollViewListener != null) {
scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
}
}
}
चरण -2 एक श्रोता बनाएं scrollchanged
पैकेज com.sunil पता लगाने के लिए बनाने के लिए है, आयात LDObservableScrollView;
public interface LDObservableScrollViewListener {
void onScrollChanged(LDObservableScrollView scrollView, int x, int y, int oldx, int oldy);
}
scrollview के बजाय लेआउट एक्सएमएल में चरण -3 कस्टम स्क्रॉल दृश्य का उपयोग
<com.abc.LDObservableScrollView android:layout_width="fill_parent" android:layout_marginTop="1dip"
android:id="@+id/OLF_ScrollView" android:layout_height="fill_parent" android:background="@drawable/small_list_back">
<TableLayout android:layout_width="fill_parent" android:id="@+id/OLF_tableLayout_TableLayout" android:layout_height="fill_parent">
</TableLayout>
</com.abc.LDObservableScrollView>
चरण -4 अपनी गतिविधि कक्षा में या स्क्रॉल घटना का उपयोग जहां पता लगाने के लिए चाहते हैं follwoing कोड
public class DetectHere implements LDObservableScrollViewListener{
...
LDObservableScrollView scrollView = (LDObservableScrollView)view.findViewById(R.id.OLF_ScrollView);
scrollView.setScrollViewListener(this);
.....
@Override
public void onScrollChanged(LDObservableScrollView scrollView, int x,
int y, int oldx, int oldy) {
// TODO Auto-generated method stub
if((scrollView.getHeight()+y) >= tableLayout.getHeight()){
Log.e("Custom Listener ", "END OF LIST OCCURRED ::");
}
}
क्यों डॉन आप 'ListView' और 'lv.setOnScrollListener()' का उपयोग नहीं करते हैं या [इस SO उत्तर] पर एक नज़र डालें [http://stackoverflow.com/questions/3948934/synchronise-scrollview-scroll-positions-android/3952629# 3 9 52629) –
मैं सूचीदृश्य का उपयोग नहीं कर सकता क्योंकि। परियोजना पहले ही विकसित हो चुकी है। यह विभिन्न स्थानों पर लागू है – bapi
ओवरस्क्रोल विधि पर देखने का प्रयास करें .. – Rejinderi