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/");
}
}