| | |
| | | import com.duqing.missions.base.adapter.BaseAdapter; |
| | | import com.duqing.missions.base.model.BaseLoadPageViewModel; |
| | | import com.duqing.missions.data.BasePageResult; |
| | | import com.duqing.missions.databinding.RefreshRecyclerBinding; |
| | | import com.scwang.smart.refresh.footer.ClassicsFooter; |
| | | import com.scwang.smart.refresh.header.ClassicsHeader; |
| | | import com.scwang.smart.refresh.layout.SmartRefreshLayout; |
| | |
| | | try { |
| | | Class<A> entityClass = (Class<A>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[2]; |
| | | this.adapter = entityClass.newInstance();//实例化泛型 |
| | | smartRefresh = (SmartRefreshLayout) binding.getClass().getDeclaredField("smartRefresh").get(binding); |
| | | String smartStr = "smartRefresh"; |
| | | smartRefresh = (SmartRefreshLayout) binding.getClass().getField(smartStr).get(binding); |
| | | recycler = (RecyclerView) binding.getClass().getDeclaredField("recycler").get(binding); |
| | | } catch (NoSuchFieldException e) { |
| | | try { |
| | | RefreshRecyclerBinding includeRefreshRecycler = (RefreshRecyclerBinding) binding.getClass().getDeclaredField ("includeRefreshRecycler").get(binding); |
| | | smartRefresh = includeRefreshRecycler.smartRefresh; |
| | | recycler = includeRefreshRecycler.recycler; |
| | | } catch (Exception e2) { |
| | | e2.printStackTrace(); |
| | | } |
| | | } catch (IllegalAccessException e) { |
| | | e.printStackTrace(); |
| | | } catch (java.lang.InstantiationException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | smartRefresh.setRefreshHeader(new ClassicsHeader(getContext())); |
| | | smartRefresh.setRefreshFooter(new ClassicsFooter(getContext())); |
| | | smartRefresh.setOnRefreshLoadMoreListener(this); |
| | | recycler = (RecyclerView) binding.getClass().getDeclaredField("recycler").get(binding); |
| | | recycler.setLayoutManager(new LinearLayoutManager(getContext())); |
| | | recycler.setAdapter(adapter); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | @Override |