shitu
public class fgfenlei extends Fragment implements IuserFlView,IuserFl2View{
private RecyclerView rv1;
private int cid;
private MyFl2presenter myFl2presenter;
private List<String> fl1List = new ArrayList<>();
private List<List<FlBean2.DataBean.ListBean>> fl2list = new ArrayList<>();
private ExpandableListView elv;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = View.inflate(getActivity(), R.layout.flfragment,null);
rv1 = v.findViewById(R.id.rv1);
elv = (ExpandableListView) v.findViewById(R.id.list);
LinearLayoutManager lm = new LinearLayoutManager(getActivity());
rv1.setLayoutManager(lm);
//
MyFlPresenter myFlPresenter = new MyFlPresenter(this);
myFlPresenter.getFlpresenter();
myFl2presenter = new MyFl2presenter(this);
return v;
}
@Override
public void getFlView(final FlBean1 flBean1) {
List<FlBean1.DataBean> data = flBean1.getData();
Fladapter fladapter = new Fladapter(getActivity(),data);
rv1.setAdapter(fladapter);
fladapter.setOnItemClickListener(new Fladapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
List<FlBean1.DataBean> data1 = flBean1.getData();
cid = data1.get(position).getCid();
Toast.makeText(getActivity(),""+cid, Toast.LENGTH_SHORT).show();
myFl2presenter.getFl2presenter(cid);
}
});
}
@Override
public void getFl2(List<FlBean2.DataBean> fl2lists) {
fl1List.clear();;
fl2list.clear();
for(int i =0;i<fl2lists.size();i++){
FlBean2.DataBean dataBean = fl2lists.get(i);
fl1List.add(dataBean.getName());
fl2list.add(dataBean.getList());
}
Fl2adpter fl2adapter = new Fl2adpter(fl1List,fl2list,getActivity());
elv.setAdapter(fl2adapter);
}
}
适配器
public class Fl2adpter extends BaseExpandableListAdapter {
private List<String> Fl2list;
private List<List<FlBean2.DataBean.ListBean>> ListBean;
private Context context;
private View v;
private ViewHoudler1 vh1;
private View v2;
private ViewHoudler2 vh2;
private RecyclerView rv2;
//
public Fl2adpter(List<String> fl2list, List<List<FlBean2.DataBean.ListBean>> listBean, Context context) {
Fl2list = fl2list;
ListBean = listBean;
this.context = context;
}
@Override
public int getGroupCount() {
return Fl2list.size();
}
@Override
public int getChildrenCount(int i) {//?
return 1;
}
@Override
public Object getGroup(int i) {
return Fl2list.get(i);
}
@Override
public Object getChild(int i, int i1) {
return ListBean.get(i).get(i1);
}
@Override
public long getGroupId(int i) {
return i;
}
@Override
public long getChildId(int i, int i1) {
return i1;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {
if(view==null){
v = View.inflate(context, R.layout.fl2_buju,null);
TextView textView = (TextView) v.findViewById(R.id.fl2_tv2);
vh1 = new ViewHoudler1();
vh1.tv = textView;
v.setTag(vh1);
}else {
v=view;
vh1 = (ViewHoudler1) v.getTag();
String s = Fl2list.get(i);
vh1.tv.setText(s);
}
return v;
}
@Override
public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {
if(view==null) {
v2 = View.inflate(context, R.layout.fl3_buju, null);
rv2 = (RecyclerView) v2.findViewById(R.id.fl2_rv);
vh2 = new ViewHoudler2();
vh2.rv= rv2;
v2.setTag(vh2);
}else {
v2=view;
vh2 = (ViewHoudler2) v2.getTag();
}
List<FlBean2.DataBean.ListBean> listBeans = ListBean.get(i);//得到listbean集合
GridLayoutManager layoutManager = new GridLayoutManager(context,3);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rv2.setLayoutManager(layoutManager);
Fl3adapter fl3adapter = new Fl3adapter(context,listBeans);
rv2.setAdapter(fl3adapter);
fl3adapter.setOnItemClickListener(new Fl3adapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
int pcid = ListBean.get(position).get(position).getPcid();
Intent intent = new Intent(context, XqActivity.class);
intent.putExtra("one", pcid);
context.startActivity(intent);
}
});
return v2;
}
@Override
public boolean isChildSelectable(int i, int i1) {
return true;
}
class ViewHoudler1 {
TextView tv;
}
class ViewHoudler2 {
RecyclerView rv;
}
}
适配器
public class Fl3adapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private List<FlBean2.DataBean.ListBean> lists;
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnItemClickListener{
void onItemClick(View view, int position);
}
//
public Fl3adapter(Context context, List<FlBean2.DataBean.ListBean> lists) {
this.context = context;
this.lists = lists;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = View.inflate(context,R.layout.fl3_rv_buju,null);
ViewHoudlers vh = new ViewHoudlers(v);
return vh;
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
((ViewHoudlers) holder).tv.setText(lists.get(position).getName());
loderImage(lists.get(position).getIcon(),((ViewHoudlers) holder).iv);
if(onItemClickListener!=null) {
((ViewHoudlers) holder).ll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(holder.itemView, position);
}
});
}
}
@Override
public int getItemCount() {
return lists.size();
}
class ViewHoudlers extends RecyclerView.ViewHolder{
private final TextView tv;
private final ImageView iv;
private final LinearLayout ll;
public ViewHoudlers(View itemView) {
super(itemView);
tv = (TextView) itemView.findViewById(R.id.rv_tv);
iv = (ImageView) itemView.findViewById(R.id.rv_img);
ll = (LinearLayout) itemView.findViewById(R.id.ll);
}
}
public void loderImage(String url,ImageView imageView){
ImageLoaderConfiguration configuration = ImageLoaderConfiguration
.createDefault(context);
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.mipmap.ic_launcher) //设置图片下载期间显示的图片
.showImageOnFail(R.mipmap.ic_launcher)// 设置图片uri有错误,解密的过程中发生错误显示的图片
.cacheInMemory(true)//设置下载的图片是否缓存到内存中
.cacheOnDisk(true)// 设置下载的图片是否缓存到SD卡中
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
ImageLoader instance = ImageLoader.getInstance();
instance.init(configuration);
//通过单例的模式,拿到对象,设置我们自定义配置的ImageLoader的配置信息
instance.displayImage(url, imageView ,options);
//compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
}
}