//1 主页面
package com.bwei.www.fjd.fragment;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.bwei.www.fjd.R;
import com.bwei.www.fjd.activity.CloseActivity;
import com.bwei.www.fjd.activity.LoginActivity;
import com.bwei.www.fjd.activity.WebViewActivity;
import com.bwei.www.fjd.adapter.TuiAdapter;
import com.bwei.www.fjd.bean.TuiBean;
import com.bwei.www.fjd.presenter.TuiPresenter;
import com.bwei.www.fjd.view.ITuiView;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
/**
* Created by asus on 2018/11/7.
*/
public class MineFragment extends Fragment implements ITuiView {
@BindView(R.id.img_head)
SimpleDraweeView imgHead;
@BindView(R.id.txt_head)
TextView txtHead;
Unbinder unbinder;
@BindView(R.id.tui)
RecyclerView tui;
private List<TuiBean.DataBean.TuijianBean.ListBeanX> list;
private TuiAdapter adapter;
private TuiPresenter tuiPresenter;
private SharedPreferences sp;
private String login;
private String username;
private Intent intent;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.item_mine, container, false);
unbinder = ButterKnife.bind(this, v);
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tuiPresenter = new TuiPresenter();
tuiPresenter.attach(this);
GridLayoutManager manager = new GridLayoutManager(getActivity(),2);
tui.setLayoutManager(manager);
tuiPresenter.getTui();
list = new ArrayList<>();
adapter = new TuiAdapter(list,getContext());
tui.setAdapter(adapter);
//点击条目跳转详情页面
adapter.setOnItemClickListener(new TuiAdapter.OnItemClickListener() {
@Override
public void OnClick(int position, View view) {
TuiBean.DataBean.TuijianBean.ListBeanX listBeanX = list.get(position);
Intent intent = new Intent(getActivity(), WebViewActivity.class);
//传对应的url和pid
intent.putExtra("url", listBeanX.getDetailUrl());
//intent.putExtra("pid", listBeanX.getPid());
startActivity(intent);
}
});
}
@Override
public void onResume() {
super.onResume();
sp = getActivity().getSharedPreferences("config", Context.MODE_PRIVATE);
username = sp.getString("username", null);
login = sp.getString("login", "");
if (login.equals("true")) {
txtHead.setText(username);
} else {
txtHead.setText("登录/注册>");
}
}
// @OnClick(R.id.txt_head)
// public void onViewClicked(View view) {
// switch (view.getId()){
// case R.id.txt_head:
// if (login.equals("true")){
// intent = new Intent(getContext(), CloseActivity.class);
// startActivity(intent);
// }else {
// intent = new Intent(getContext(), LoginActivity.class);
// startActivity(intent);
// }
//
// break;
// }
// }
@OnClick({R.id.img_head, R.id.txt_head})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.img_head:
Intent intent = new Intent(getContext(), LoginActivity.class);
startActivity(intent);
break;
case R.id.txt_head:
Intent intent2 = new Intent(getContext(), CloseActivity.class);
startActivity(intent2);
break;
}
}
@Override
public void getTui(TuiBean tuiBean) {
list.clear();
list.addAll(tuiBean.getData().getTuijian().getList());
adapter.notifyDataSetChanged();
}
@Override
public void failed(Throwable t) {
Toast.makeText(getContext(),""+t.getMessage(),Toast.LENGTH_LONG).show();
}
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
if (tuiPresenter!= null){
tuiPresenter.detach();
}
}
}
// 2 适配器写一个接口回调
package com.bwei.www.fjd.adapter; import android.content.Context; import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.bwei.www.fjd.HttpUtils.ImgProcess; import com.bwei.www.fjd.R; import com.bwei.www.fjd.bean.TuiBean; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by asus on 2018/11/13. */ public class TuiAdapter extends RecyclerView.Adapter<TuiAdapter.ViewHolder> { //接口回调 public interface OnItemClickListener{ void OnClick(int position,View view); } private OnItemClickListener listener; public void setOnItemClickListener(OnItemClickListener listener){ this.listener = listener; } private List<TuiBean.DataBean.TuijianBean.ListBeanX> list; private Context context; public TuiAdapter(List<TuiBean.DataBean.TuijianBean.ListBeanX> list, Context context) { this.list = list; this.context = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = View.inflate(context, R.layout.item_show, null); ViewHolder holder = new ViewHolder(v); return holder; } @Override public void onBindViewHolder(ViewHolder holder, final int position) { Glide.with(context).load(ImgProcess.getImg(list.get(position).getImages())).into(holder.imgRecy); // holder.imgRecy.setImageURI(Uri.parse(ImgProcess.getImg(list.get(position).getImages()))); holder.txtRecy.setText(list.get(position).getTitle()); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.OnClick(position,v); } }); } @Override public int getItemCount() { return list.size(); } class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.img_recy) ImageView imgRecy; @BindView(R.id.txt_recy) TextView txtRecy; public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this,itemView); } } }
// 3 跳转到的详情页代码是个Activity
package com.bwei.www.fjd.activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebView;
import com.bwei.www.fjd.R;
import butterknife.BindView;
import butterknife.ButterKnife;
public class WebViewActivity extends AppCompatActivity {
@BindView(R.id.home_web)
WebView homeWeb;
/**
* 详情页
* @param savedInstanceState
*/
//详情页
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
ButterKnife.bind(this);
Intent intent = getIntent();
String url = intent.getStringExtra("url");
homeWeb.loadUrl(url);
}
}
// 4 详情页的布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <WebView android:id="@+id/home_web" android:layout_width="match_parent" android:layout_height="match_parent"></WebView> </LinearLayout>