activity_main.xml
<android.support.v7.widget.RecyclerView android:id="@+id/Recycler01" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="7"></android.support.v7.widget.RecyclerView> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="3" android:id="@+id/Recycler02" ></android.support.v7.widget.RecyclerView>
item01.xml
<TextView android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:id="@+id/item01_text"/>item02.xml
<TextView android:id="@+id/item02_text" android:layout_width="match_parent" android:layout_height="50dp" /> <android.support.v7.widget.RecyclerView android:id="@+id/item02_rexyclerview" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView>
item02_02.xml
// xmlns:fresco="http://schemas.android.com/apk/res-auto"
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/item02_02_sim" android:layout_width="80dp" android:layout_height="80dp" fresco:actualImageScaleType="centerCrop" fresco:placeholderImage="@mipmap/ic_launcher" fresco:placeholderImageScaleType="centerCrop" /> <TextView android:layout_width="80dp" android:layout_height="50dp" android:gravity="center" android:id="@+id/item02_02_text"/>
MianActivity.java
public class MainActivity extends AppCompatActivity implements IMainView ,IMainView02 { @BindView(R.id.Recycler01) RecyclerView Recycler01; @BindView(R.id.Recycler02) RecyclerView Recycler02; private LoginPresenter loginPresenter; private MyAdapter myAdapter; private int cid; private LoginPresenter02 loginPresenter02; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); loginPresenter02 = new LoginPresenter02(this); loginPresenter = new LoginPresenter(this); loginPresenter.login(); loginPresenter02.login02(1+""); } @Override public void onSuccess(final List<Userbean.DataBean> data) { //data01.addAll(data); Log.d("MainActivity", "data:" + data.toString()); // Log.d("MainActivity", data01.toString()); myAdapter = new MyAdapter(this, data); Recycler01.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); Recycler01.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL)); Recycler01.setAdapter(myAdapter); myAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onClick(int position) { cid = data.get(position).getCid(); Log.d("MainActivity", "cid:" + cid); Toast.makeText(MainActivity.this, "position:" + position, Toast.LENGTH_SHORT).show(); loginPresenter02.login02(cid+""); } @Override public void onLongClick(int position) { } }); } @Override public void onFailed(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } @Override protected void onDestroy() { super.onDestroy(); //解绑,防止内存泄露 loginPresenter.onDestory(); loginPresenter02.onDestory02(); } @Override public void onFailed02(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } @Override public void onSuccess02(List<ZiUserbean.DataBean> data) { MyAdapter02 myAdapter02=new MyAdapter02(this,data); LinearLayoutManager layoutmanager = new LinearLayoutManager(this); Recycler02.setLayoutManager(layoutmanager); Recycler02.setAdapter(myAdapter02); } }
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private Context context; List<Userbean.DataBean> data; public MyAdapter(Context conext, List<Userbean.DataBean> data) { this.context = conext; this.data = data; } OnItemClickListener mOnItemClickListener; public void setOnItemClickListener(OnItemClickListener onItemClickListener ){ this. mOnItemClickListener=onItemClickListener; } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item01, parent, false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(MyAdapter.ViewHolder holder, final int position) { holder.item01text.setText(data.get(position).getName()); if( mOnItemClickListener!= null){ holder.itemView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { mOnItemClickListener.onClick(position); } }); holder. itemView.setOnLongClickListener( new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { mOnItemClickListener.onLongClick(position); return false; } }); } } @Override public int getItemCount() { return data.size(); } class ViewHolder extends RecyclerView.ViewHolder { private TextView item01text; public ViewHolder(View itemView) { super(itemView); item01text = itemView.findViewById(R.id.item01_text); } } }
public class MyAdapter02 extends RecyclerView.Adapter<MyAdapter02.ViewHolder> { private Context context; List<ZiUserbean.DataBean> data; public MyAdapter02(Context conext, List<ZiUserbean.DataBean> data) { this.context = conext; this.data = data; } @Override public MyAdapter02.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item02, parent, false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(MyAdapter02.ViewHolder holder, final int position) { holder.item02text.setText(data.get(position).getName()); List<ZiUserbean.DataBean.ListBean> list = data.get(position).getList(); MyAdapter03 myAdapter03 = new MyAdapter03(context, list); holder.item02_recy.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL)); holder.item02_recy.addItemDecoration(new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); holder.item02_recy.setAdapter(myAdapter03); } @Override public int getItemCount() { return data.size(); } class ViewHolder extends RecyclerView.ViewHolder { private TextView item02text; private final RecyclerView item02_recy; public ViewHolder(View itemView) { super(itemView); item02text = itemView.findViewById(R.id.item02_text); item02_recy = itemView.findViewById(R.id.item02_rexyclerview); } } }
public class MyAdapter03 extends RecyclerView.Adapter<MyAdapter03.ViewHolder> { private Context context; List<ZiUserbean.DataBean.ListBean> data; public MyAdapter03(Context conext, List<ZiUserbean.DataBean.ListBean> data) { this.context = conext; this.data = data; } @Override public MyAdapter03.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item02_02, parent, false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(MyAdapter03.ViewHolder holder, final int position) { holder.item02text.setText(data.get(position).getName()); Uri uri = Uri.parse(data.get(position).getIcon()); holder.simpleDraweeView.setImageURI(uri); } @Override public int getItemCount() { return data.size(); } class ViewHolder extends RecyclerView.ViewHolder { private TextView item02text; private final SimpleDraweeView simpleDraweeView; public ViewHolder(View itemView) { super(itemView); item02text = itemView.findViewById(R.id.item02_02_text); simpleDraweeView = itemView.findViewById(R.id.item02_02_sim); } } }
//图片 compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.facebook.fresco:fresco:0.11.0' compile 'com.github.bumptech.glide:glide:3.6.1' //recyclerview compile 'com.android.support:recyclerview-v7:26+' //butterknife compile 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okio:okio:1.6.0' implementation 'com.google.code.gson:gson:2.8.+' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
<uses-permission android:name="android.permission.INTERNET" /> android:name=".App"链接:https://pan.baidu.com/s/1shg-W6_YRtSaQdw3fA72Rg 密码:gl8h