MainActivity:
public class MainActivity extends AppCompatActivity { private List<String> list; private SwipeRefreshLayout swipe; private RecyclerView recyclerView; private RecyleAdapter recyleAdapter; private boolean isRefresh = true; private GridLayoutManager gridLayoutManager; private GridLayoutManager gridLayoutManager2; private List<String> list2; private RecyclerView recyclerView1; private RecyleAdapter2 recyleAdapter2; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.bianji); initView(); initData(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } private void initData() { recyclerView = (RecyclerView) findViewById(R.id.recy1); recyclerView1 = (RecyclerView) findViewById(R.id.recy2); recyleAdapter = new RecyleAdapter(this); recyleAdapter2 = new RecyleAdapter2(this); gridLayoutManager = new GridLayoutManager(this, 3); gridLayoutManager2 = new GridLayoutManager(this, 3); recyclerView.setLayoutManager(gridLayoutManager); recyclerView1.setLayoutManager(gridLayoutManager2); recyleAdapter.setData(list); recyleAdapter2.setDataelse(list2); recyclerView.setAdapter(recyleAdapter); recyclerView1.setAdapter(recyleAdapter2); recyleAdapter.notifyDataSetChanged(); recyleAdapter2.notifyDataSetChanged(); recyleAdapter.setOnClick(new RecyleAdapter.onClick() { @Override public void onCli(View v, int position) { Toast.makeText(MainActivity.this, "点击了" + position, Toast.LENGTH_LONG).show(); myData(position); } }); recyleAdapter2.setOnClick(new RecyleAdapter.onClick() { @Override public void onCli(View v, int position) { Toast.makeText(MainActivity.this, "点击了" + position, Toast.LENGTH_LONG).show(); elseData(position); } }); } private void initView() { list = new ArrayList<>(); list2 = new ArrayList<>(); for (int i = 0; i < 15; i++) { list.add("我的" + i); list2.add("其他" + i); } } private void elseData(int position) { list.add(list2.get(position)); recyleAdapter.setData(list); recyleAdapter.notifyDataSetChanged(); list2.remove(position); recyleAdapter2.setDataelse(list2); recyleAdapter2.notifyDataSetChanged(); } private void myData(int position) { list2.add(list.get(position)); recyleAdapter2.setDataelse(list2); recyleAdapter2.notifyDataSetChanged(); list.remove(position); recyleAdapter.setData(list); recyleAdapter.notifyDataSetChanged(); } }
RecyleAdapter:
public class RecyleAdapter extends RecyclerView.Adapter { private List<String> list=new ArrayList<>(); private Context mcontext; public RecyleAdapter(Context context){ this.mcontext=context; } public void setData(List<String> data){ this.list.clear(); this.list.addAll(0,data); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(mcontext, R.layout.home_item, null); MyHolderView myHolderView = new MyHolderView(view); return myHolderView; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { MyHolderView my= (MyHolderView) holder; my.textView.setText(list.get(position)); my.textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { monClick.onCli(v,position); } }); } @Override public int getItemCount() { return list.size(); } class MyHolderView extends RecyclerView.ViewHolder{ private final TextView textView; private final TextView te; public MyHolderView(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.textView); te = (TextView) itemView.findViewById(R.id.delete_tv); } } public interface onClick{ void onCli(View v, int position); } private onClick monClick; public void setOnClick(onClick onClick){ this.monClick=onClick; } }
RecyleAdapter2:
public class RecyleAdapter2 extends RecyclerView.Adapter { private List<String> list=new ArrayList<>(); private Context mcontext; public RecyleAdapter2(Context context){ this.mcontext=context; } public void setDataelse(List<String> data){ this.list.clear(); this.list.addAll(0,data); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(mcontext, R.layout.home_item2, null); RecyleAdapter2.MyHolderView myHolderView = new RecyleAdapter2.MyHolderView(view); return myHolderView; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { RecyleAdapter2.MyHolderView my= (RecyleAdapter2.MyHolderView) holder; my.textView.setText(list.get(position)); my.textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { monClick.onCli(v,position); } }); } @Override public int getItemCount() { return list.size(); } class MyHolderView extends RecyclerView.ViewHolder{ private final TextView textView; public MyHolderView(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.textView2); } } public interface onClick{ void onCli(View v, int position); } private RecyleAdapter.onClick monClick; public void setOnClick(RecyleAdapter.onClick onClick){ this.monClick=onClick; } }