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