package com.grumoon.androidultrapulltorefreshdemo.ui;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Toast;
import com.grumoon.androidultrapulltorefreshdemo.R;
import in.srain.cube.views.ptr.PtrClassicFrameLayout;
import in.srain.cube.views.ptr.PtrDefaultHandler;
import in.srain.cube.views.ptr.PtrFrameLayout;
import in.srain.cube.views.ptr.PtrHandler;
/**
* A simple {@link Fragment} subclass.
*/
public class ContentWebViewFragment extends Fragment {
private static final String[] URLS = new String[]{
"https://github.com/grumoon",
"https://github.com/android-cn/android-open-project-analysis",
"https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh",
};
//下拉次数
private int ptrTimes;
private PtrClassicFrameLayout ptr;
private WebView wvMain;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_content_web_view, container, false);
initView(v);
return v;
}
private void initView(View v) {
wvMain = (WebView) v.findViewById(R.id.wv_main);
wvMain.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
ptr.refreshComplete();
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
ptr.refreshComplete();
Toast.makeText(getActivity(), "页面打开失败,请稍候再试", Toast.LENGTH_SHORT)
.show();
}
});
ptr = (PtrClassicFrameLayout) v.findViewById(R.id.ptr_main);
ptr.setPtrHandler(new PtrHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout ptrFrameLayout, View view, View view2) {
return wvMain.getScrollY() == 0;
}
@Override
public void onRefreshBegin(PtrFrameLayout ptrFrameLayout) {
wvMain.loadUrl(URLS[ptrTimes % URLS.length]);
ptrTimes++;
}
});
ptr.postDelayed(new Runnable() {
@Override
public void run() {
ptr.autoRefresh();
}
}, 100);
}
}