表格

adapter

package com.example.lineardemorecyclerview.adapter;

import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.lineardemorecyclerview.R;

import java.util.ArrayList;

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener{

    private ArrayList<String> mList;

    public MyAdapter(ArrayList<String> mList) {
        this.mList = mList;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
       View view=View.inflate(viewGroup.getContext(),R.layout.recy_item,null);
       ViewHolder holder=new ViewHolder(view);
       view.setOnClickListener(this);

        return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {

        viewHolder.mName.setText(mList.get(i));
        viewHolder.itemView.setTag(i);
    }

    @Override
    public int getItemCount() {
        return mList.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
       private TextView mName;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            mName=itemView.findViewById(R.id.recy_name);

        }
    }

    public interface ItemClick{
        void setOnItemClick(View view,int i);
    }

    private ItemClick mItemClick;
    public void setOnClickListener(ItemClick itemClick){
        this.mItemClick=itemClick;
    }

    @Override
    public void onClick(View v) {

        if(mItemClick!=null){
            mItemClick.setOnItemClick(v, (Integer) v.getTag());
        }
    }


}

package com.example.lineardemorecyclerview;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Toast;

import com.example.lineardemorecyclerview.adapter.MyAdapter;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

private RecyclerView Recy;
private ArrayList<String> mList=new ArrayList<>();
private MyAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();

    adapter = new MyAdapter(mList);
    Recy.setAdapter(adapter);
    initData();
    adapter.setOnClickListener(new MyAdapter.ItemClick() {
        @Override
        public void setOnItemClick(View view, int i) {
            Toast.makeText(MainActivity.this,mList.get(i),Toast.LENGTH_SHORT).show();
        }
    });

}

private void initData(){
    for (int i = 0; i <20; i++) {
        mList.add("你真醜"+i);
    }

    adapter.notifyDataSetChanged();
}
private void initView() {
    Recy = (RecyclerView) findViewById(R.id.Recy);

    GridLayoutManager layoutManager=new GridLayoutManager(this,3);
    Recy.setLayoutManager(layoutManager);
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章