依赖
compile 'com.android.support:recyclerview-v7:25.3.1' Recycler
compile 'com.squareup.okhttp3:okhttp:3.8.1'
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView>
第一个Fragment页面
OkHttp解析
private void initData() {
new Thread(new Runnable() {
@Override
public void run() {
try {
//缓存
Cache cache=new Cache(getContext().getCacheDir(),10*1024*1024);
OkHttpClient okHttpClient =new OkHttpClient.Builder().cache(cache).addNetworkInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Response proceed = chain.proceed(chain.request());
if(TextUtils.isEmpty(proceed.cacheControl().toString())){
Response response = proceed.newBuilder().addHeader("Cache-Control", "max-age=" + 60 * 3).build();
return response;
}
return proceed;
}
}).build();
Request request=new Request.Builder().url(path).build();
Response response=okHttpClient.newCall(request).execute();
String string = response.body().string();
handler.obtainMessage(100,string).sendToTarget();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
Handler
private Handler handler=new Handler(){
private RAdap rAdap;
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String jsonstring = (String) msg.obj;
Gson gson = new Gson();
Bean bean = gson.fromJson(jsonstring, Bean.class);
final List<Bean.ResultBean.DataBean> data = bean.getResult().getData();
LinearLayoutManager manager=new LinearLayoutManager(getContext());
rv.setLayoutManager(manager);
rAdap = new RAdap(data,getContext());
rv.setAdapter(rAdap);
//接口tiao'zh
rAdap.setonlistener(new RAdap.onlistener() {
private int i;
@Override
public void itemlistener(int position) {
i = position;
((MainActivity) getActivity()).vp.setCurrentItem(1);
String url = data.get(position).getUrl();
listener.itemlistener(url);
}
});
}
};
//传数据
public interface onlistener{
void itemlistener(String url);
}
void setonlistener(onlistener listener){
this.listener=listener;
}
适配器
//短按
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.itemlistener(position);
}
});
//接口
public interface onlistener{
void itemlistener(int position);
}
public void setonlistener(onlistener listener){
this.listener=listener;
}
第二个fragment页面
<WebView
android:id="@+id/wv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></WebView>
//把this AIt+/
private void initData() {
((MainActivity)getActivity()).xqFragment.setonlistener(this);
}
@Override
public void itemlistener(final String url) {
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
wv.loadUrl(url);
wv.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
wv.loadUrl(url);
return super.shouldOverrideUrlLoading(view,request);
}
});
}