İnternetten bazı verileri indirip geri dönüştürücü kullanarak bir liste halinde gösteren bir uygulama oluşturdum.Sen SwipeRefreshLayout ekledim, böylece kullanıcı sayfanın başındayken çekebilir Yukarıdan yenilemeye (facebook uygulaması gibi) .But Uygulamamda aşağı doğru kaydırdığımda ve tekrar kaydırmaya çalışırken SwipeRefreshLayout sayfamı gösterip yeniliyor.Kaydırıyorum SwipeRefreshLayout Uygulamamı yenilemek için
Ayrıca internette de arama yapıyorum ama doğru cevabı bulamıyorum.
this çözümünü deniyorum ancak artık çalışmıyor (Çünkü recyclerView kullanıyorum). İşte
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeToRefresh"
android:layout_height="match_parent"
android:layout_width="match_parent">
<include layout="@layout/content_main"/>
</android.support.v4.widget.SwipeRefreshLayout>
activity_main ...
//.....
public SwipeRefreshLayout mSwipeRefreshLayout;
protected void onCreate(Bundle savedInstanceState) {
//....
mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeToRefresh);
mSwipeRefreshLayout.setOnRefreshListener(this);
//......
}
//.......
@Override
public void onRefresh() {
Api.getBlog(mBlogListAdapter);
}
Api Tepki
//.......
@Override
public void onResponse(Call<AllBlog> call, Response<AllBlog> response) {
//.......
mActivity.mSwipeRefreshLayout.setRefreshing(false);
}
MainActivity.java
daha iyi anlaşılması için benim app kod bazı olduğunu İçinde Benim adaptör//........
public class BlogListViewHolder extends RecyclerView.ViewHolder implements View.OnScrollChangeListener{
public ImageView mBlogImage;
public TextView mBlogTitle;
public TextView mBlogAuthor;
public BlogListViewHolder(View itemView) {
super(itemView);
mBlogImage = (ImageView) itemView.findViewById(R.id.blogPhoto);
mBlogTitle = (TextView) itemView.findViewById(R.id.blogTitle);
mBlogAuthor = (TextView) itemView.findViewById(R.id.blogAuthor);
}
}
Ben de View.OnScrollChangeListener uygulanması çalıştı ama o da işe.
public class BlogListViewHolder extends RecyclerView.ViewHolder implements View.OnScrollChangeListener{
public ImageView mBlogImage;
public TextView mBlogTitle;
public TextView mBlogAuthor;
public BlogListViewHolder(View itemView) {
super(itemView);
mBlogImage = (ImageView) itemView.findViewById(R.id.blogPhoto);
mBlogTitle = (TextView) itemView.findViewById(R.id.blogTitle);
mBlogAuthor = (TextView) itemView.findViewById(R.id.blogAuthor);
itemView.setOnScrollChangeListener(this);
}
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (v.getVerticalScrollbarPosition() == 0) {
mActivity.mSwipeRefreshLayout.setEnabled(true);
} else {
mActivity.mSwipeRefreshLayout.setEnabled(false);
}
}
}
content_main.xml' 'için kodunuzu gönderin. –