分类——recyclerview



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


猜你喜欢

转载自blog.csdn.net/qq_37454196/article/details/80093567