package com.aspsine.swipetoloadlayout.demo.fragment; import android.os.Build; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebResourceError; import android.webkit.WebResourceRequest; import android.webkit.WebResourceResponse; import android.webkit.WebView; import android.webkit.WebViewClient; import com.aspsine.swipetoloadlayout.OnLoadMoreListener; import com.aspsine.swipetoloadlayout.OnRefreshListener; import com.aspsine.swipetoloadlayout.SwipeToLoadLayout; import com.aspsine.swipetoloadlayout.demo.R; /** * A simple {@link Fragment} subclass. */ public class TwitterWebViewFragment extends BaseFragment implements OnRefreshListener, OnLoadMoreListener{ private SwipeToLoadLayout swipeToLoadLayout; private WebView webView; public TwitterWebViewFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_twitter_web_view, container, false); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); swipeToLoadLayout = (SwipeToLoadLayout) view.findViewById(R.id.swipeToLoadLayout); webView = (WebView) view.findViewById(R.id.swipe_target); swipeToLoadLayout.setOnRefreshListener(this); swipeToLoadLayout.setOnLoadMoreListener(this); webView.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); swipeToLoadLayout.setRefreshing(false); } @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); swipeToLoadLayout.setRefreshing(false); } @Override public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) { super.onReceivedHttpError(view, request, errorResponse); swipeToLoadLayout.setRefreshing(false); } }); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); swipeToLoadLayout.post(new Runnable() { @Override public void run() { swipeToLoadLayout.setRefreshing(true); } }); } @Override public void onResume() { super.onResume(); if (webView != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { webView.onResume(); } } @Override public void onPause() { super.onPause(); if (webView != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { webView.onPause(); } } @Override public void onDestroy() { super.onDestroy(); if (webView != null) { webView.destroy(); } } @Override public void onLoadMore() { swipeToLoadLayout.postDelayed(new Runnable() { @Override public void run() { swipeToLoadLayout.setLoadingMore(false); } }, 2000); } @Override public void onRefresh() { webView.loadUrl("http://www.weibo.com/"); } }